有时搜索的词语比较含糊不清,因为这些词语可能有多种写法。你可以使用限定符“?”来标记这些词语作为可选字符。非常简单,把“?”放在可选字符后面即可。这样“?”前的字符就变成了可选字符,而不是非得出现。
"color" -match "colou?r" True "colour" -match "colou?r" True
注意,此处的字符“?”并不代表任何字符,因为怕你可能会联想到简单模式匹配里面的“?”。正则表达式中的“?”,只是一个限定符,它代表的是指定字符或者子表达式出现的频率。具体到上面的例子,“u?”就确保了字符“u”在模式中不是必需的。常用的其它限定符,还有“*”(出现0次后者多次)和“+”(至少出现一次)。
如果你想标记更多的连续字符作为可选,可以把这些字符放置圆括号中建立子表达式。下面的子表达可以同时识别“Nov”和“November”:
"Nov" -match "\bNov(ember)?\b" True "November" -match "\bNov(ember)?\b" True
如果你想使用多个可选的搜索词语,可以使用“或”操作符“|”:
"Bob and Ted" -match "Alice|Bob" True
如果你想将搜索的词语和固定文本结合在一起,作为可选,仍然可以使用子表达式:
# 搜索 "and Bob": "Peter and Bob" -match "and (Bob|Willy)" True # 没有搜索到 "and Bob": "Bob and Peter" -match "and (Bob|Willy)" False
本文链接: https://www.pstips.net/regx-simultaneous-searches-for-different-terms.html
请尊重原作者和编辑的辛勤劳动,欢迎转载,并注明出处!
请尊重原作者和编辑的辛勤劳动,欢迎转载,并注明出处!
合