作者热门文章
- iOS/Objective-C 元类和类别
- objective-c - -1001 错误,当 NSURLSession 通过 httpproxy 和/etc/hosts
- java - 使用网络类获取 url 地址
- ios - 推送通知中不播放声音
在java中,我有这样一个字符串:
"bla bla bla bla [BACK] bla bla bla [bla bla [GO] bla bla bla bla [bla"
我想用正则表达式找到一条规则,将开始标记“[”替换为“(start)”,结束标记“]”替换为“(end)”。
应忽略“单独的开始标记或结束标记”。
结果是我会得到以下内容:
bla bla bla bla (start)BACK(end) bla bla bla [ bla bla (start)GO(end) bla bla bla bla [bla
最佳答案
String resultString = subjectString.replaceAll(
"(?x) # Turn on verbose mode \n" +
"\\[ # Match a [ \n" +
"( # Match and capture in group 1: \n" +
"[^\\[\\]]* # Any number of characters except brackets\n" +
") # End of capturing group \n" +
"\\] # Match a ]", "(start)$1(end)");
将仅匹配/替换平衡的 [
/]
对,它们之间没有括号。
关于java - 正则表达式 java : how to replace a string in a generic between the start tag and end tag of a generic,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16548191/
我是一名优秀的程序员,十分优秀!