我有正则表达式问题。需要正则表达专家的帮助! 它相当简单,但我无法让它发挥作用。
我知道如果我想查看文本的开头,我应该使用^ 和文本的结尾,我应该使用$
我想将[quote]
替换为<a>quote</a>
。
这似乎不起作用..
String test = "this is a [quote]"
test.replaceAll("^\\[", "<a>");
test.replaceAll("\\]$", "</a>");
我希望字符串变为"this is a <a>quote</a>"
..
答案 0 :(得分:4)
如果要将[
和]
替换为对,则需要一次更换它们。
String test = "this [test] is a [quote]";
String result = test.replaceAll("\\[([^\\]]+)\\]", "<a>$1</a>");
答案 1 :(得分:2)
^
意味着您正在寻找字符串开头的内容。但是[
没有出现在字符串的开头,因此您将没有匹配项。只是做:
test.replaceAll("\\[", "<a>");
test.replaceAll("\\]", "</a>");
此外,您无法就地修改字符串。你必须将输出分配给某些东西。你可以这样做:
test = test.replaceAll("\\[", "<a>").replaceAll("\\]", "</a>");
即如果您仍想使用变量test
。