java - 正则表达式匹配除两个括号之间的内容之外的所有内容
问题描述
我搜索了很多,但没有找到我的具体案例。我需要一个正则表达式来匹配所有内容,除了两个尖括号之间写的内容:
我找到了如何匹配除尖括号之外的所有内容:
String regex="[^<>]*";
或者如何匹配两个尖括号之间的内容:
\<(.*?)\>
或<([^>]+)>
这很好,但我需要正好相反。我尝试玩 ^ (否定)但没有成功。
例如:
Fara Foo <not be selected>;another <also not be selected>
应该返回: Fara Foo <>;another <>
整个事情应该在java中工作。
更新:解决replaceAll(...)
方案对我没有帮助,因为我想在 replaceAll(...) 调用中使用正则表达式 :-) 所以我真的需要正则表达式。
因为它在评论中被问到:在 java 中有某些字符串操作,如 replaceAll() 或 split() 直接采用正则表达式。还有另一种方法是使用Pattern
and Matcher
。replaceAll()
它使用起来比模式匹配器更方便。这就是为什么我想使用“负”正则表达式来使用replaceAll ...
解决方案
达到预期结果的一种方法是使用string.replaceAll
去除尖括号之间的内容,例如:
String strIn = "Fara Foo <not be selected>;another <also not be selected>; ...";
String newStr = strIn.replaceAll("<([^>]+)>", "<>");
推荐阅读
- sql - SQL SP:将来自选择查询的 id 集合存储在 TVP 中
- javascript - Shopify - 我可以从浏览器控制台访问 JSON 对象,但不能从主题文件访问
- python - 如何通过单击html文件上的按钮在烧瓶中执行导入的函数
- swift - 如何使用 Quick 测试带有 XIB 文件的视图控制器?
- django - 在 django 的浏览器中禁用 javascript 时如何进行验证
- angular - Angular Guard:当用户未授权时重定向到哪里?
- jakarta-ee - Apache CXF 处理枚举路径变量错误并返回自定义响应
- php - Drupal 7:用 Ajax 刷新()多个响应
- regex - 在 bash 中使用 sed 在特定模式正则表达式匹配后插入文件中的内容
- linux - 在 shell 脚本中取消 sudo 提示