如何编写Regex匹配井号分隔的目标文本并排除指定前缀
解决方案
针对你的需求,这里提供两种正则方案,可根据实际场景选择:
场景1:开头小写部分固定为word
如果确定字符串开头一定是小写的word,可以用正向零宽断言跳过这部分,直接捕获后面的目标内容:
(?<=word)(.*)
使用这个正则时,捕获到的第一个分组就是WORD#WORD#WORD。
场景2:开头小写字母数量不固定
如果开头可能是任意长度的连续小写字母,想要去掉所有开头小写部分,保留剩余内容:
^[a-z]+(.*)
这个正则会匹配开头的一个或多个小写字母,再用分组捕获后面的全部内容,取分组1即可得到目标文本。
关于你原正则的问题
你当前的正则存在一处错误:[a-zA—Z0-9]中的—是全角破折号,并非正则里表示字符范围的半角-,这会导致字符匹配范围异常,应修正为[a-zA-Z0-9]。另外原正则未处理开头的小写word部分,所以无法排除它。
内容的提问来源于stack exchange,提问作者user3683976
相关产品推荐
相关产品推荐

