我正在努力为以下场景提出正确的正则表达式。
假设您必须匹配一个单词,不论是以http-还是
开头例如:http-test-data,测试数据应该匹配,但xyz-test-data不应该匹配
到目前为止我出现的正则表达式是(?: HTTP - )?(测试数据)
但它也匹配xyz-test-data。
答案 0 :(得分:2)
您可以简单地使用以下内容:
(?:http-|^)(test-data)
这可以测试http-
的正面观察或test-data
之前字符串的开头。
例如,对于样本数据如下:
http-test-data
xyz-test-data
http-test-data
xyz-test-data
test-data
yes-yes-test-data
-test-data
它是:
http-test-data
http-test-data
test-data
答案 1 :(得分:1)
尝试此表示
^(http-|)(test-data)
答案 2 :(得分:0)
是的,因为?
上有(?:http-)
。然后正则表达式也将匹配包含test-data
的任何字符串。