regex - 正则表达式 - 从文本中提取下划线和点之间的所有内容

标签 regex

我正在尝试提取此文本中 _. 之间的所有内容:

CIL20150424_NSGS02RPK.dat
CIL20150424_NSU01MAH.dat

给我这些匹配:

NSGS02RPK
NSU01MAH

我正在使用这个site我能做的最好的事情就是使用负向查找来定位 _:

\d(_=?)

但这也会选择 4 4_

如何选择此文本中 _. 之间的所有内容?

最佳答案

此正则表达式与您的目标匹配:

(?<=_).*?(?=\.)

参见live demo .

正则表达式使用后视来表示下划线,一个不情愿量词(以防每行有多个),以及前视点(您必须转义以匹配文字)点)。


顺便说一句,您尝试的前瞻(_=?)不是前瞻,它是一个捕获的(括号内的)下划线,后跟一个可选的等号。

关于regex - 正则表达式 - 从文本中提取下划线和点之间的所有内容,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30632846/

相关文章:

javascript - 在字符串中查找整数

python - 优先选择附加的可选正则表达式组而不是点元字符

regex - 库斯托 : extract unique words in text

ruby - 如何将正则表达式作为参数传递给函数?

regex - 比较两个带有 If-Statement 的正则表达式失败

regex - Java : Split string using tokens and saving token as well using regex

regex - perl 正则表达式不是字符串的开头

Java正则表达式来验证日期范围

正则表达式:匹配除以Thanks/结尾的任何字符串

javascript - 变量和数字的正则表达式匹配