使用正则表达式提取字符串中 _ 之前的文本

Sar*_*raj 1 regex

我有大量的字符串开始像 DD_filename.

如何在_使用正则表达式之前提取字符。

我尝试从这里学习使用,因为它a.b会检索从开始到a结束的字符b

我尝试过类似的方法,^._但对我不起作用。

Ale*_*ici 5

^._只会匹配 之前的一个字符_。试试这个模式:

^.*?(?=_)
Run Code Online (Sandbox Code Playgroud)


jmh*_*jmh 5

从字符串的开头开始,捕获所有非下划线字符:

"^[^_]*"
Run Code Online (Sandbox Code Playgroud)

第一个^(插入符号)字符表示匹配从字符串的开头开始。括号允许您定义一组可能的字符(字符类)。第二个^字符的意思是“不”。所以字符类是“非下划线”。星星的意思是“零个或多个”。所以用简单的英语来说:“从字符串的开头匹配零个或多个非下划线字符”。