正则表达式与排除项匹配
Regex matching with exclusions
我正在创建自定义标记语法并尝试匹配由特殊字符包围的某些字符串。例如 //Some text//
与正则表达式 \/\/
匹配良好。
表达式 \/\/
在大多数情况下都有效,除非文本中有 url 并丢弃所有内容。当双斜杠前面有 p:
或 s:
时,我怎么能 exclude/handle 案例,比如在网址中:
http:// or https://
我想排除 p://
和 s://
但不确定如何排除。
提前致谢!
您可以使用负向后视正则表达式:
(?<!https:|http:)//.*?//
(?<!https:|http:)
是否定后视断言,如果我们在 //
之前有 https:
或 http:
,它将失败
我正在创建自定义标记语法并尝试匹配由特殊字符包围的某些字符串。例如 //Some text//
与正则表达式 \/\/
匹配良好。
表达式 \/\/
在大多数情况下都有效,除非文本中有 url 并丢弃所有内容。当双斜杠前面有 p:
或 s:
时,我怎么能 exclude/handle 案例,比如在网址中:
http:// or https://
我想排除 p://
和 s://
但不确定如何排除。
提前致谢!
您可以使用负向后视正则表达式:
(?<!https:|http:)//.*?//
(?<!https:|http:)
是否定后视断言,如果我们在 //
https:
或 http:
,它将失败