相关疑难解决方法(0)

逃离regexpr的特殊符号

我用这个代码:

static Pattern escaper = Pattern.compile("([^a-zA-z0-9])");

public static String escapeRE(String str) {
    return escaper.matcher(str).replaceAll("\\\\$1");
}
Run Code Online (Sandbox Code Playgroud)

它工作得很漂亮,直到我不使用这个字符串:"[".我看着debuger结果是"]"没有"\\".

System.out.println(Main.escapeRE("+"));
System.out.println(Main.escapeRE(">="));
System.out.println(Main.escapeRE("]"));
System.out.println(Main.escapeRE("["));
Run Code Online (Sandbox Code Playgroud)

结果:

\\+
\\>\\=
]
[
Run Code Online (Sandbox Code Playgroud)

为什么会这样?

java regex

1
推荐指数
1
解决办法
133
查看次数

在其他字符串中查找第一次出现的字符串符号

我有一个问题:我需要在字符串s1中找到字符串s2(或char数组)中第一个出现的符号.

是否有用于此目的的标准功能?如果没有,那么这个问题的良好实施是什么?(当然我可以为我的s2中的每个char 运行indexOf,但这似乎不是一个好的算法,因为如果只有最后一个符号出现在s1中,我们必须先经过s1 | s2 | -1次才能得到一个回答).

非常感谢你!

java string matching

1
推荐指数
1
解决办法
2万
查看次数

StringEscapeUtils没有转义{

我有以下字符串:

String str = "{% assign foo = values %}.{{ foo[0] }}."
Run Code Online (Sandbox Code Playgroud)

我正在尝试将其编译为模式:

Pattern p = Pattern.compile(StringEscapeUtils.escapeJava(str));
Run Code Online (Sandbox Code Playgroud)

但是编译因"非法重复"错误而失败,我猜这是因为'{'char没有被转义.

我怎样才能正确逃脱它?最好不要在每个角色前添加"\\".

java regex escaping

1
推荐指数
1
解决办法
669
查看次数

如何使用Java replaceAll(regex,replacement)方法替换字符串中的所有方括号

我正在学习Java,我想 使用java 将所有内容替换[] and {}为一个空格。RegExp

我尝试过的

final String data = "{a:b,c:d,e:[f,g,h]}";
System.out.println(data.replaceAll("[{}[]]", " ")); 
Run Code Online (Sandbox Code Playgroud)

但是越来越 java.util.regex.PatternSyntaxException: Unclosed character class near index 5 [{}[]]. ^

我认为Java认为将第]5个位置作为的终点RegExp

所以我怎么能逃脱那个方括号,并用[]{}空格 代替所有

java regex

0
推荐指数
1
解决办法
2663
查看次数

如何拆分(")在Java中使用正则表达式

我是Java的新手我有一个StringBuilder从HTML文件中获取的字符串,我已经将它分成了很多步骤,现在我将它放入一个String中,让我们称之为alink

aLink是一个String包含<a href="http//www.google.com">Google</a>

我想.split(String regex)在Java中使用方法,以便我可以获得http://www.google.com并将其放入String变量中.

我的问题是,怎么做,因为我不能把"放入我的参数.

谢谢

java regex split

-1
推荐指数
1
解决办法
217
查看次数

标签 统计

java ×5

regex ×4

escaping ×1

matching ×1

split ×1

string ×1