我正在尝试使用正则表达式来捕获2个字符串之间的字符串。我对正则表达式没有经验。我想用以下字符串捕获城镇名称:
On April 6, 2016, the Town of Woodstock auctioned
±
14.00
我尝试过最基本的捕获尝试:
town of (.*) auctioned
我能想到的,但我根本没有得到任何匹配。链接如下。我做错了什么?
答案 0 :(得分:4)
首先,默认情况下,正则表达式区分大小写。使用(?i)
内联修饰符来更改它(假设正则表达式引擎在正则表达式之后不会期望其修饰符)。
其次,空格被视为任何其他角色。如果文本在单词之间包含两个空格,那么如果只使用一个空格,则正则表达式不会匹配。
最后,您可能应该使用lazy quantifier:
(?i)town\s+of\s+(.*?)\s+auctioned
应该有用。
答案 1 :(得分:1)
如果你说正则表达式将从城镇开始并以拍卖结束
然后:
/town\s+of\s+(.*?)\s+auctioned/ig
这里/我在javascript中使它不区分大小写。 这里捕获组1包含您的城镇名称