基本的正则表达式捕获

时间:2016-10-02 12:24:37

标签: regex

我正在尝试使用正则表达式来捕获2个字符串之间的字符串。我对正则表达式没有经验。我想用以下字符串捕获城镇名称:

On  April  6,  2016,  the  Town  of  Woodstock  auctioned 
±
14.00

我尝试过最基本的捕获尝试:

town of (.*) auctioned
我能想到的,但我根本没有得到任何匹配。链接如下。我做错了什么?

see here

2 个答案:

答案 0 :(得分:4)

首先,默认情况下,正则表达式区分大小写。使用(?i)内联修饰符来更改它(假设正则表达式引擎在正则表达式之后不会期望其修饰符)。

其次,空格被视为任何其他角色。如果文本在单词之间包含两个空格,那么如果只使用一个空格,则正则表达式不会匹配。

最后,您可能应该使用lazy quantifier

(?i)town\s+of\s+(.*?)\s+auctioned

应该有用。

答案 1 :(得分:1)

如果你说正则表达式将从城镇开始并以拍卖结束

然后:

/town\s+of\s+(.*?)\s+auctioned/ig

这里/我在javascript中使它不区分大小写。 这里捕获组1包含您的城镇名称