我需要结合这两个正则表达式。
第一个:
\)\p{Any}*?\(
这将用于匹配)和(
之间的所有信息第二个正则表达式:
[^/.;\p{L&}\p{Nd}-]+
这将用于匹配特定的"无效字符"在一个程序中。
我需要这些功能一起使用,以便它只匹配在其间找到的无效字符和(
示例:
111111111(11111#1111)1111 11111111$1111111111111111 1111.;/-1111111(1111&111) 1111111111$11111111111111 1111111(11111111$1111)111 111111111111$111111111111
我需要组合正则表达式的结果才能匹配第2行,第4行和第6行的三个$。
"无效字符的定义" - 所有非字母数字,除了。; / -
我是所有这一切的新手,我尽我所能。这对我来说是一次性的事情。我真的需要一些帮助。我之前发过这个问题,没有人给我任何意见,他们只是批评我的帖子并问我更多的问题。非常感谢任何指导。
哦,并且在EditPad中使用正则表达式,如果这有任何区别。
答案 0 :(得分:0)
您可以使用基于可变宽度外观的正则表达式(因为EditPad支持无限宽度的外观):
(?<=\)[^(]*?)[^\s(/.;\p{L}\p{Nd}-]+(?=[^(]*(?:\(|$))
请参阅regex demo
<强>详情:
(?<=\)[^(]*?)
- 必须有)
,然后在当前位置之前尽可能少的(
以外的任何0 +字符[^\s(/.;\p{L}\p{Nd}-]+
- 除空格(\s
),(
,.
,;
,字母,数字和{{1}以外的1个或多个字符} -
- 除了(?=[^(]*(?:\(|$))
之外的0 +字符(见(
)之后,必须有(?:\(|$)
或字符串结尾((
)当前位置。