使用RegEx删除开始和结束模式

时间:2017-08-04 21:16:40

标签: regex

我需要解析这个字符串。

     \n        \nnabcn     \n      \n

我需要从中提取"nabcn"。空格和"\n"是随机的,可以按任何顺序排列。注意:"\n"是文本不转义字符。

"nabcn"可以包含任何字符,包括换行符。我的要求是在所需文本之前和之后没有空格和"\n"字符串的组合。

这就是我提出的:

(?=[^\s(?:\\n)])((?:(?:.|\n)*)?)(?<=[^\s(?:\\n)])

这有效,但问题是它只找到“abc”。

2 个答案:

答案 0 :(得分:0)

Here's what I came up with

(?:\\n)(\w+)

这应该捕获第1组中的nabcn。您可以在上面的&#34;详细信息&#34;中的Regexr链接中看到这一点。

第一个parenentheses指定一个非捕获组寻找\n,第二个parenentheses指定单词\w贪婪。

答案 1 :(得分:0)

这有效:

(n)(?:\s|\\n)*(a)(?:\s|\\n)*(b)(?:\s|\\n)*(c)(?:\s|\\n)*(n)

试验:

\n        \nnabcn     \n      \n

https://regex101.com/r/SPH5mI/1

     \n        \n\n   n\n\n\n\nab       c\n\n\n\nn     \n      \n   

https://regex101.com/r/ezUGes/1

因为它创造了许多群体,因为在#34; nabcn&#34; (what does that word mean anyway?),要检索单词,只需获取群组$1$2$3$4$5