Tag: regex

Java String Manipulation:根据模式从字符串中提取整数和浮点数

我有一个String的以下两个可能的内容。 显然,金额总是不同的,我想提取关键信息和 Case 0: pricesString = “” Case 1: pricesString = “$0.023” Case 2: pricesString = “10+: $1.46 100+: $0.16 500+: $0.04” 在Case 0我想什么都不做。 在Case 1我想执行: article.addPrice(1, 0.023); 在Case 2我想执行: article.addPrice(10, 1.46); article.addPrice(100, 0.16); article.addPrice(500, 0.04); 如何提取此信息,以便我可以使用包含的浮点数和整数值调用article.addPrice?

“\ 1”在此Java字符串中表示什么?

System.out.println(“\1”); 我认为它没有编译,因为未识别的转义序列。 “\1″到底代表什么?

Java:如何检查字符是否属于特定的unicode块?

我需要确定我的输入所属的自然语言。 目标是在混合输入中区分阿拉伯语和英语单词,其中输入是Unicode并从XML文本节点中提取。 我注意到了类Character.UnicodeBlock 。 这与我的问题有关吗? 我怎样才能让它发挥作用? 编辑: Character.UnicodeBlock方法对阿拉伯语很有用,但显然不适用于英语(或其他欧洲语言),因为BASIC_LATIN Unicode块包含符号和不可打印的字符以及字母。 所以现在我使用String对象的matches()方法和正则表达式”[A-Za-z]+” 。 我可以忍受它,但也许有人可以建议更好/更快的方式。

GWT中的正则表达式匹配URL

我实现了Pattern类,如下所示: http : //www.java2s.com/Code/Java/GWT/ImplementjavautilregexPatternwithJavascriptRegExpobject.htm 我想使用以下正则表达式匹配我的字符串中的url: (http|https):\/\/(\w+:{0,1}\w*@)?(\S+)(:[0-9]+)?(\/|\/([\w#!:.?+=&%@!\-\/]))? 不幸的是,Java编译器当然无法解析该字符串,因为它不使用有效的转义序列(因为上面在技术上是JavaScript的url模式,而不是Java) 在一天结束时,我正在寻找一个正则表达式模式,它将在Java中编译并在JavaScript中正确执行。

如何使用Java的Scanner类和正则表达式来标记输入?

仅仅出于我自己的目的,我正在尝试在Java中构建一个tokenizer,我可以在其中定义一个常规语法并根据它来标记输入。 不推荐使用StringTokenizer类,我在Scanner中发现了一些暗示我想做的事情,但没有运气的函数。 有人知道这个问题的好方法吗?

这个正则表达式替换如何反转字符串?

这是一系列教育正则表达式文章的第四部分。 它展示了嵌套引用的组合(参见: 这个正则表达式如何找到三角形数?? )在断言中“计数”(参见: 我们如何匹配^ nb ^ n与Java正则表达式? )可用于反转字符串。 以编程方式生成的模式使用元模式抽象(请参阅: 此Java正则表达式如何检测回文? )。 这是系列中的第一次,这些技术用于替换而不是整个字符串匹配。 提供了完整的Java和C#实现。 鼓舞人心的报价包括在内。 使用正则表达式反转字符串似乎不是一个好主意,如果它完全可能,它甚至不会立即显而易见,如果是这样,人们可能会尝试这样做。 虽然它仍然不是一个好主意,但至少现在我们知道这是可能的,因为这是一种方法: C# ( 也在ideone.com上 ) using System; using System.Text.RegularExpressions; public class TwoDollarReversal { public static void Main() { string REVERSE = @”(?sx) . grab$2″ .Replace(“grab$2″, ForEachDotBehind( AssertSuffix(@”((.) \1?)”) ) ); Console.WriteLine( Regex.Replace( @”nietsniE treblA — hguone llew ti dnatsrednu […]

为什么Java正则表达式引擎会在+重复上抛出StringIndexOutOfBoundsException?

我写了一个正则表达式模式来找到Fibonacci数字(没关系,为什么,我刚刚做了)。 它按预期工作得非常好( 参见ideone.com ): String FIBONACCI = “(?x) .{0,2} | (?: (?=(\\2?)) (?=(\\2\\3|^.)) (?=(\\1)) \\2)++ . “; for (int n = 0; n < 1000; n++) { String s = new String(new char[n]); if (s.matches(FIBONACCI)) { System.out.print(n + " "); } } // 0 1 2 3 5 8 13 21 34 55 89 144 […]

在哪里可以找到将regex应用于输出的Java Servletfilter?

我希望有人写过这个: 一个servletfilter,可以使用正则表达式搜索/替换模式进行配置,并将它们应用于HTML输出。 这样的事情存在吗?

Java:用字符串替换字符串中的所有’

我需要在字符串中转义所有引号(’),因此它变为\’ 我尝试过使用replaceAll,但它没有做任何事情。 出于某种原因,我不能让正则表达式工作。 我正在尝试 String s = “You’ll be totally awesome, I’m really terrible”; String shouldBecome = “You\’ll be totally awesome, I\’m really terrible”; s = s.replaceAll(“‘”,”\\'”); // Doesn’t do anything s = s.replaceAll(“\'”,”\\'”); // Doesn’t do anything s = s.replaceAll(“\\'”,”\\'”); // Doesn’t do anything 我真的被困在这里,希望有人能在这里帮助我。 谢谢, 我要

收集HashSet / Java 8 / Regex Pattern / Stream API

最近我更改了JDK 8的版本而不是我的项目中的7个,现在我使用Java 8附带的新function覆盖了一些代码片段。 final Matcher mtr = Pattern.compile(regex).matcher(input); HashSet set = new HashSet() {{ while (mtr.find()) add(mtr.group().toLowerCase()); }}; 我如何使用Stream API编写此代码?