gpt4 book ai didi

regex - GWT - 2.1 RegEx 类来解析自由文本

转载 作者:行者123 更新时间:2023-12-04 22:50:45 24 4
gpt4 key购买 nike

我正在努力解决 com.google.gwt.regexp.shared.RegExp类,只是想从字符串中解析电话号码并获取所有出现的数字,但似乎只能获取第 1 次出现.. 我知道 java(它工作的地方)和 GWT 之间的正则表达式存在细微差别.

String freeText = "Theo Powell<5643321309>, Robert Roberts<9653768972>, Betty Wilson<6268281885>, Brandon Anderson<703203115>";
MatchResult matchResult = RegExp.compile("[\+]?[0-9." "-]{8,}").exec(freeText);
int groupCount = matchResult.getGroupCount(); // result = 1
String s = matchResult.getGroup(0); //result = 5643321309

提前致谢。

伊恩..

最佳答案

你必须循环,再次应用该模式,直到它什么都不返回。为此,您首先必须使用“全局”标志:

ArrayList<String> matches = new ArrayList<String>();
RegExp pattern = RegExp.compile("[\+]?[0-9. -]{8,}", "g");
for (MatchResult result = pattern.exec(freeText); result != null; result = pattern.exec(freeText)) {
matches.add(result.getGroup(0));
}

如果您认为它有点“神奇”或“笨拙”(它有点像),我建议您阅读有关 JavaScript 的文档 RegExp对象,如 RegExp GWT 中的类是这个的直接映射: https://developer.mozilla.org/en/JavaScript/Reference/Global_Objects/RegExp/exec (JS 中的示例代码与上面的非常相似)。

关于regex - GWT - 2.1 RegEx 类来解析自由文本,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6323024/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com