如何编写正则表达式匹配包含textbox子串的列表元素
正则匹配含
textbox子串的列表条目 需求说明
待匹配的字符串列表包含以下3个元素:
03000_textbox (57447)03990_textbox (57499)03000_textnewbox (57447)
需要捕获所有包含textbox子串的条目,排除无关项,最终返回前两个元素。
匹配方案
基础匹配规则
第三个元素03000_textnewbox (57447)中的字段为textnewbox,不存在连续的textbox字符序列,直接使用子串匹配正则即可完成筛选:
textbox
逐元素判断时,只要元素内容能匹配到该正则,即为目标条目,可准确筛出前两个符合要求的结果。
整段文本批量提取正则
如果需要从一整段未拆分的文本中直接提取所有符合格式的目标条目,可以使用更精准的完整匹配正则:
\b\d+_textbox\s\(\d+\)\b
正则各段逻辑:
\b:匹配单词边界,避免截断前后无关字符\d+_textbox:匹配数字前缀加下划线,后跟精确的textbox字段\s\(\d+\):匹配后续空格、括号包裹的数字ID- 末尾
\b:匹配结束边界,确保匹配到完整条目
执行匹配后得到的结果为:
03000_textbox (57447) 03990_textbox (57499)
防误匹配增强
如果后续列表可能出现类似abctextboxdef这类textbox嵌在更长字符串里的场景,可以给子串加单词边界,进一步提升匹配准确性:
\btextbox\b
内容的提问来源于stack exchange,提问作者Birat Adhikari
相关产品推荐
相关产品推荐

