我正在努力为以下场景提出正确的正则表达式。
假设您必须匹配一个以 http- 开头的单词,或者什么都不匹配
例如:http-test-data, test-data 应该是匹配的,但 xyz-test-data 不应该是匹配的
到目前为止我提出的正则表达式是
(?:http-)?(测试数据)
但它也匹配 xyz-test-data。
我正在努力为以下场景提出正确的正则表达式。
假设您必须匹配一个以 http- 开头的单词,或者什么都不匹配
例如:http-test-data, test-data 应该是匹配的,但 xyz-test-data 不应该是匹配的
到目前为止我提出的正则表达式是
(?:http-)?(测试数据)
但它也匹配 xyz-test-data。
您可以简单地使用以下内容:
(?:http-|^)(test-data)
这会测试http-
字符串的正向后视或 before 的开头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
Try this representation
^(http-|)(test-data)
是的,?
因为(?:http-)
. 然后正则表达式也将匹配任何包含test-data
.