忽略正则表达式中的撇号[重复]
Posted
技术标签:
【中文标题】忽略正则表达式中的撇号[重复]【英文标题】:Ignoring Apostrophe in Regex [duplicate] 【发布时间】:2018-01-21 13:19:31 【问题描述】:我有一个简单的正则表达式,它在字符串中查找单词“不会连接”。
(.*) won't connect.*
但我想拥有它,这样它就可以忽略撇号,以防用户输入“不会连接”。
【问题讨论】:
你想匹配除撇号之外的整个字符串吗? 我想要它,这样用户输入撇号就没有关系了,就像他们拼写为 wont 而不是 won't。 在撇号后面加一个问号表示它是可选的。 【参考方案1】:(.*)won'?t connect.*
应该足够了,匹配“'”0或1次
在此处查看demo
【讨论】:
【参考方案2】:你的模式:
(.*) won't connect.*
*
量词默认为 贪婪。这意味着您的正则表达式会出错:
foo won't connect won't connect
见demonstration。
如果你在量词后面添加一个问号,它将是惰性的,这意味着它只会匹配模式成功所需的数量。见解释here。
改进的模式:
(.*?) won'?t connect.*
【讨论】:
以上是关于忽略正则表达式中的撇号[重复]的主要内容,如果未能解决你的问题,请参考以下文章