意大利语标签的正则表达式
Regex for italian tags
我正在研究一个正则表达式来获取@users
在意大利语中,有时会出现类似 l'@Orazio 的词。
我找不到正确的方法。
我正在使用这条线/(?<=^|\s)(@(\S+))/
这是我的在线测试器
https://regex101.com/r/s5BTm0/12
如您所见,我对案例 4 有疑问
有什么建议吗?
您可以使用
(?<!\S)(?:\w+['’])?@(\S+)
(?<!\w)(?:\w+['’])?@(\S+)
详情
(?<!\S)
- 空格或字符串开头必须立即出现在当前位置的左侧
(?<!\w)
- 前面没有紧接单词 char 的位置
(?:\w+['’])?
- 1+ 个单词字符的最佳序列,然后是 '
或 ’
@
- 一个 @
字符
(\S+)
- 捕获第 1 组:一个或多个非空白字符。
使用可选组:
(?<=^|\s)(?:\w?'?)(@(\S+))
https://regex101.com/r/s5BTm0/5
前面多于1个字母,使用:
(?<=^|\s)(?:(\w*')?)(@(\S+))
https://regex101.com/r/s5BTm0/8
并匹配所有更新的案例:
https://regex101.com/r/s5BTm0/10
对于不同类型的撇号:
(?<=^|\s)(?:(\w*['´])?)(@(\S+))
我正在研究一个正则表达式来获取@users 在意大利语中,有时会出现类似 l'@Orazio 的词。 我找不到正确的方法。
我正在使用这条线/(?<=^|\s)(@(\S+))/
这是我的在线测试器 https://regex101.com/r/s5BTm0/12
如您所见,我对案例 4 有疑问
有什么建议吗?
您可以使用
(?<!\S)(?:\w+['’])?@(\S+)
(?<!\w)(?:\w+['’])?@(\S+)
详情
(?<!\S)
- 空格或字符串开头必须立即出现在当前位置的左侧(?<!\w)
- 前面没有紧接单词 char 的位置
(?:\w+['’])?
- 1+ 个单词字符的最佳序列,然后是'
或’
@
- 一个@
字符(\S+)
- 捕获第 1 组:一个或多个非空白字符。
使用可选组:
(?<=^|\s)(?:\w?'?)(@(\S+))
https://regex101.com/r/s5BTm0/5
前面多于1个字母,使用:
(?<=^|\s)(?:(\w*')?)(@(\S+))
https://regex101.com/r/s5BTm0/8
并匹配所有更新的案例:
https://regex101.com/r/s5BTm0/10
对于不同类型的撇号:
(?<=^|\s)(?:(\w*['´])?)(@(\S+))