我通过递增有此表达正则表达式提取字符串
accordionMain_i0_accordion_i0_ctl01_0_ddl_xxxxxxxx_iy_tblItem
其中xxx也“_”及其数量而变化包含,并且y从0开始。我想用正则表达式提取xxxxxx。我试过拆分函数,但xxxx可以包含几个'_',所以通过从拆分中删除数组的最后2个元素,我必须检查ddl,然后加入xxx的所有部分等。你知道一个更好的方法,通过使用REGEX ?任何帮助将不胜感激。
我通过递增有此表达正则表达式提取字符串
accordionMain_i0_accordion_i0_ctl01_0_ddl_xxxxxxxx_iy_tblItem
其中xxx也“_”及其数量而变化包含,并且y从0开始。我想用正则表达式提取xxxxxx。我试过拆分函数,但xxxx可以包含几个'_',所以通过从拆分中删除数组的最后2个元素,我必须检查ddl,然后加入xxx的所有部分等。你知道一个更好的方法,通过使用REGEX ?任何帮助将不胜感激。
如果你正则表达式引擎支持lookahead
和lookbehind
,然后使用:
(?<=_ddl_)\w+?(?=_i\d+)
其他
(:_ddl_)(\w+?)(?:_i\d+)
您应该指定您正在使用的语言。但这里有一个刺在它:
/accordionMain_i0_accordion_i0_ctl01_0_ddl_([x_]+)_i\d+_tblItem/
然后,你X的将被存储在第一捕捉,$1
。
这是演示:http://rubular.com/r/MH4GbMStdf。
编辑:
如果你的意思是 “什么”,而不是字面的 “X”,则:
/accordionMain_i0_accordion_i0_ctl01_0_ddl_(.+)_i\d+_tblItem/
正则表达式accordionMain_i0_accordion_i0_ctl01_0_ddl_(.*?)_i\d+_tblItem
返回您XXXXXXXX如果发现匹配。
我不是一个亲或任何...但如果是我,我会在拆分“ddl_”然后阅读,直到我点击“_iy” –