我有这个正则表达式:
'/^ANSWER\:(.+?)$/'
我知道这大致翻译为:
以“ANSWER:”和......
开头的字符串我不确定
是什么(.+?)$
翻译成?任何帮助将不胜感激!
答案 0 :(得分: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
答案 1 :(得分:2)
正则表达式的带括号的部分对应于捕获组,或者可以在以后引用的正则表达式的一部分,以便您可以获得适合子正则表达式的任何文本在捕获组内。 .
表示匹配单个字符,+
表示至少有一个实例,因此.+
可以被视为“至少一个字符”。但是,+
本身是“贪婪的”,意味着它匹配尽可能多的字符,而当后跟?
时,它被指示匹配“懒惰”或尽可能少的字符。因为正则表达式以$
结尾,所以我认为?
不会改变正则表达式匹配字符串的方式,因为任何匹配都会被强制匹配所有字符,直到行结束为止。