1

我有这个正则表达式:

'/^ANSWER\:(.+?)$/'

我知道这大致翻译为:

以“ANSWER:”开头的字符串和...

我不确定是什么

(.+?)$

翻译成?任何帮助将不胜感激!

4

2 回答 2

7
(       # begin capturing group
  .+?     # match any character (.) one or more times (+) as few times as possible (?)
)       # end capturing group
$       # end of string anchor (or end of line anchor, if multiline option is enabled)

以下链接对正则表达式语法进行了很好的总结:
http ://www.regular-expressions.info/reference.html

于 2013-06-25T01:57:19.447 回答
2

正则表达式的括号部分对应一个捕获组,或者是正则表达式的一部分,可以稍后引用,这样您就可以获得任何适合捕获组内的子正则表达式的文本。.表示匹配单个字符,并且表示+至少一个实例,因此.+可以认为是“至少一个任意字符”。但是,+本身是“贪婪的”,这意味着它匹配尽可能多的字符,而当后面跟着 时?,它被指示匹配“惰性”或尽可能少的字符。因为正则表达式以 结尾$,所以我认为?不会改变正则表达式匹配字符串的方式,因为任何匹配都会强制匹配所有字符,直到行尾。

于 2013-06-25T02:09:25.743 回答