java - 正则表达式有什么问题?
问题描述
我不明白,为什么这个正则表达式不像我预期的那样工作:
正则表达式:^<prefix>(.*?)(<optTag.*?>)?(.*?)<postfix>$
测试:<prefix>some chars<optTag value>some chars<postfix>
测试结果:
第 1 组:空
第 2 组:空
第 3 组:some chars<optTag value>some chars
我希望第 2 组 =<optTag value>
解决方案
您可以在正则表达式中添加单词边界“\b”以获得第 2 组中所需的值。
这个 ReGeX 对我有用,
^<prefix>(.*?)(\b<optTag.*>\b)(.*?)<postfix>$
你可以在这里阅读更多。
推荐阅读
- python-3.x - 在pytorch中,如何调试JIT错误信息“RuntimeError: Only tensors or tuples of tensors can be output from traced functions”?
- algorithm - 请告诉我 贪心算法 时间分析 对于一个问题
- laravel - laravel 雄辩的一对一关系
- python - 如何使用 gitlab 运行 GUI 自动化?
- java - 如何使用 Java Streams 将第一个元素与第二个元素相乘
- html - 我有一个宽度为 1240px 的包装器和一个中间有 1240px 空白空间的图像。如何放置它以使包装纸覆盖它?
- python - 如果不是数字/数字 Python,则删除 len 列表
- mysql - 使用 COUNT(*) 查询返回零行
- html - 如何在启用 Pass-Thru 的情况下设置计算文本字段的样式
- javascript - jshint老板真:它是什么,为什么存在?