我希望能够检测/挑选像:
这样的字符串每人入场门票
气球pp
植树
即。描述后跟可选的“pp”或“每人”
我尝试(.+)\s+(per person|pp)
并且有效;但pp|per person
后缀不是可选的。
我尝试(.+)\s+(per person|pp)?
或(.+)\s+(per person|pp){0,1}
使其成为可选项,但后来我得到“未定义第二个捕获组”。
奇怪的是,第一个捕获组包含“per”:
匹配:0 :(每个入口处的门票)
1 :(入口处的门票)
2 :(未定义)(通过http://www.regextester.com/在线正则表达式测试员测试)
第二次捕获组我做错了什么?
答案 0 :(得分:1)
你可以试试这个:
^(.+?)\s*(per person|pp|)$
你可以这样读:
Starts with
(any characters but at least one and not in greedy mode)
any space-characters
("per person" or "pp" or nothing)
end