首页 文章

正则表达式匹配模式,同时排除文本中的其他模式

提问于
浏览
0

我有一个文件,包括像

lets say my input text is || text || || text || || text || || 1 || || 2 ||

我想只匹配||从文本同时我想排除数字的出现与这种模式||的数字0-9 ||

所以我做了一个正则表达式

(\ ||):这将匹配||在文中但我的问题是我也得到了|| 0-9 ||这是可以理解的,所以我在正则表达式中添加一个过滤器

(\||) ([0-9+]) :这将匹配所有文本,如 text|| 1 || text|| 3 ||

最后,我想忽略这个匹配的模式

(\||) ([0-9+])

并通过 (\||) 得到结果,所以输出

|| \ n text || \ n || \ n text || \ n || \ n text || \ n || 1 || || 2 ||

那么如何忽略/丢弃正则表达式匹配的模式

option1:(?:expression)(它不起作用)

(\ ||)(\ || [0-9] .... //我不想在匹配第一组时影响这种模式)

提前致谢 :)

2 回答

  • 0

    最后,我想忽略这个与(\ ||)匹配的模式([0-9])

    \|\|\s*\d+\s*(*SKIP)(*F)|\|\|
    

    DEMO

    我以为你在运行php .

    要么

    \|\|(?!\s*\d+)
    

    DEMO

  • 0

    假设有效术语也可能包含数字(和字母),则需要一个与一般模式匹配的正则表达式,但不包括任何仅数字术语 .

    使用负面展望:

    ^(?!.*\|\| \d+ \|\|)(\|\| \w+ \|\| ?)+$
    

    demo

相关问题