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+)