正则表达式以匹配带有连字符和/或撇号的单词

经验的

我正在寻找一个正则表达式来匹配带有连字符和/或撇号的单词。到目前为止,我有:

(\w+([-'])(\w+)?[']?(\w+))

而且大多数情况下都可以使用,尽管如果有撇号和连字符(例如“ qu'est-ce”),则不匹配。我可以附加更多可选内容,尽管也许还有另一种更有效的方法?

我尝试匹配的一些示例:玛丽的,高中,“ tis,钱伯斯”和Qu'est-ce。

阿尔法勇敢

使用这种模式

(?=\S*['-])([a-zA-Z'-]+)

演示版

(?=                 # Look-Ahead
  \S                # <not a whitespace character>
  *                 # (zero or more)(greedy)
  ['-]              # Character in ['-] Character Class
)                   # End of Look-Ahead
(                   # Capturing Group (1)
  [a-zA-Z'-]        # Character in [a-zA-Z'-] Character Class
  +                 # (one or more)(greedy)
)                   # End of Capturing Group (1)

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

正则表达式匹配带有撇号的单词和单词

带有连字符的Java正则表达式

正则表达式去查找带有撇号的单词

使此正则表达式代码适用于带有撇号的单词

连字符/破折号包含在正则表达式单词边界\ b中

正则表达式条件匹配以逃脱撇号

Java正则表达式:基于非单词字符(撇号除外)进行拆分

Python中的正则表达式以匹配带有特殊字符的单词

用非字母数字字符分隔的正则表达式,对带有撇号收缩的单词进行特殊处理

正则表达式仅允许使用字母,连字符,撇号和句点

正则表达式匹配所有数字和连字符(如果连字符位于数字之间)

正则表达式查找包含变量并与可能包含连字符,逗号,撇号和空格的相同变量匹配的模式

正则表达式字符串中的转义撇号,以飞镖中的撇号开头和结尾

带有逗号和连字符的小数字专用正则表达式

正则表达式禁止在撇号和连字符之前或之后的任何空格

正则表达式用于返回不带连字符/破折号的精确匹配

仅字母,下划线,连字符,撇号的正则表达式

适用于A-Za-z0-9撇号,空格和连字符的正则表达式,范围

正则表达式的首字母大写应超过3个字符,并在连字符和撇号之后

正则表达式匹配行,带有特殊字符的单词除外

正则表达式可匹配单词,但不能匹配带有某些字符的数字

Python:单词和连字符的正则表达式

带撇号的正则表达式单词搜索

将带有 2 或 3 个连字符的字符串与文件类型(正则表达式)匹配

需要一个可以验证带有特殊字符(连字符、撇号等...)的名称的 python 正则表达式

正则表达式:在单词之间接受单词和连字符

在同一个正则表达式中查找带有破折号/连字符而没有的单词?

数字和固定全长之间带有连字符的正则表达式

正则表达式匹配除单词和周围连字符之间的空格之外的所有空格?