用于将特定语法与空格匹配的正则表达式

时间:2013-12-15 01:26:48

标签: regex

接受确切给定内容的正则表达式是什么,即使它有空格?

例如,对于"Agatha Christie",我不希望“Agatha”匹配它或“Christie”来匹配它,但确切的表达式“Agatha Christie”

谢谢!

2 个答案:

答案 0 :(得分:1)

http://gskinner.com/RegExr/ - 为您的实验。

答案是:

/Agatha Christie/

如果您在单词之间有不可预测的空格量:

/Agatha[ ]+Christie/

如果不是唯一的空格:

/Agatha[/S]+Christie/

更新:

问:如果“Agatha Christie”在数据库中,/ Agatha /匹配“Agatha Christie”吗?

答:

问:我需要的是/ Agatha /仅匹配“Agatha”,如果数据库中有“Agatha Christie”,则只有/ Agatha Christie /匹配。

答:如果数据字段只包含一个therm,/Agatha$/只匹配“Agatha”,而不是“Agatha Christie”而/Agatha Christie$/只匹配“Agatha克里斯蒂“,其中$具有”字符串结尾“的意思。

答案 1 :(得分:1)

Regex是一个非常强大的工具,用于查找与特定规范匹配的字符串。最简单的规范是“找到这个字符串”。在正则表达式中,这是通过将此字符串精确地作为表达式来完成的。

因此,与Agatha Christie完全匹配的表达式(包括空格和大小写)是

/Agatha Christie/

如果您想要不区分大小写,可以添加

/agatha christie/i

如果您不关心是否有零或100个空格,

/agatha[ ]*christie/i

如果您需要“Agatha Christie”作为整个字符串(之前和之后没有任何内容),您可以使用

/^Agatha Christie$/

开头的“锚点”^和字符串结尾的$确保不存在其他字符。