相关疑难解决方法(0)

正则表达式中的单词边界是什么?

我在Java 1.6中使用Java正则表达式(尤其是解析数字输出)并且找不到\b("单词边界")的精确定义.我假设这-12将是一个"整数字"(匹配 \b\-?\d+\b),但似乎这不起作用.我很想知道匹配空格分隔数字的方法.

例:

Pattern pattern = Pattern.compile("\\s*\\b\\-?\\d+\\s*");
String plus = " 12 ";
System.out.println(""+pattern.matcher(plus).matches());
String minus = " -12 ";
System.out.println(""+pattern.matcher(minus).matches());
pattern = Pattern.compile("\\s*\\-?\\d+\\s*");
System.out.println(""+pattern.matcher(minus).matches());
Run Code Online (Sandbox Code Playgroud)

返回:

true
false
true
Run Code Online (Sandbox Code Playgroud)

regex word-boundary

107
推荐指数
8
解决办法
12万
查看次数

正则表达式 - 检查输入是否仍有机会匹配

我们有这样的正则表达式:

var regexp = /^one (two)+ three/;
Run Code Online (Sandbox Code Playgroud)

因此,只有串像"one two three""one two three four""one twotwo three"等都会匹配.

但是,如果我们有字符串

"one "- 仍然很"有希望",可能很快就会匹配

但是这个字符串: "one three"无论我们做什么都不会匹​​配.

有没有办法检查给定的字符串是否有机会匹配?

我需要它在写作期间的一些提示,当我想推荐所有以给定输入开头的选项时(正在使用的regexp很长,我不想真的搞乱它们).


换句话说 - 我想在检查期间检查字符串是否已经结束,并且没有遇到任何'不匹配'.

换句话说 - 答案是不匹配的原因.如果原因是字符串结束 - 那么它就会失败.但是我不知道有什么方法可以检查为什么有些字符串不匹配

javascript regex

21
推荐指数
2
解决办法
2997
查看次数

正则表达式的部分匹配

我有一个逐步构建的字符串.在构建字符串时,它通过正则表达式作为整体进行匹配,并且当找到匹配时,执行某个任务.

我的要求是:如果在字符串构建过程的中间发现无法找到完全匹配,则应重置字符串并重新启动构建过程.

例如,如果正则表达式是,"mada12gaskar"并且在将char "3"添加到现有字符串时"mada1",应该清除该字符串,并且构建过程应该重新开始,因为它"mada13"永远不会匹配"mada12gaskar".这可以通过Java regex API实现吗?

java regex

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

标签 统计

regex ×3

java ×1

javascript ×1

word-boundary ×1