Regex 正则表达式提取字符串

Regex 正则表达式提取字符串,regex,Regex,我有这个表情 accordionMain_i0_accordion_i0_ctl01_0_ddl_xxxxxxxx_iy_tblItem 其中,xxx也可以包含“u”,并且其数字会有所不同,y从0开始递增。我想使用正则表达式提取xxxxxx。我尝试了split函数,但是xxxx可以包含几个“389;”,因此通过从split中删除数组的最后2个元素,我必须检查ddl,然后连接xxx的所有部分等。您知道使用正则表达式更好的方法吗?任何帮助都将不胜感激 您应该指定您正在使用的语言。但这里有一个尝试:

我有这个表情

accordionMain_i0_accordion_i0_ctl01_0_ddl_xxxxxxxx_iy_tblItem

其中,xxx也可以包含“u”,并且其数字会有所不同,y从0开始递增。我想使用正则表达式提取xxxxxx。我尝试了split函数,但是xxxx可以包含几个“389;”,因此通过从split中删除数组的最后2个元素,我必须检查ddl,然后连接xxx的所有部分等。您知道使用正则表达式更好的方法吗?任何帮助都将不胜感激

您应该指定您正在使用的语言。但这里有一个尝试:

/accordionMain_i0_accordion_i0_ctl01_0_ddl_([x_]+)_i\d+_tblItem/
然后,您的x将存储在第一次捕获中,
$1

这里有一个演示:

编辑:

如果您的意思是“任何东西”而不是字面上的“x”,那么:


Regex
accordionMain\u i0\u accordion\u i0\u ctl01\u 0\u ddl(.*)\u i\d+\u tblItem
如果找到匹配项,则返回您的xxxxxxxx

如果您的Regex引擎支持
lookahead
lookahead
,则使用:

(?<=_ddl_)\w+?(?=_i\d+)

我不是职业选手或者别的什么。。。但如果是我,我会在“ddl__________________________________
(?<=_ddl_)\w+?(?=_i\d+)
(:_ddl_)(\w+?)(?:_i\d+)