gpt4 book ai didi

java - 正则表达式不匹配

转载 作者:搜寻专家 更新时间:2023-11-01 03:12:53 24 4
gpt4 key购买 nike

在这种情况下,我在使用正则表达式时遇到了麻烦:我需要从这种结构中提取(并替换)所有点:

any_symbols->white_space->x.(or xx. or Xx. or xX. or xy. or yy. etc.)->white_space->any_symbol_not_upper_case_and_not_a_digit

例如

1990 x. abcd  -  extract dot

ffff xx.abcd - extract dot

1990 x. Abcdef - do not extract

abcd x. Abcd - do not extract

abcd x. 1990 - do not extract

所以我构建了这样的正则表达式:

(?<=\s[XxYy]{1,2})\.(?>=\s+?[^\p{javaUpperCase}\d])

但它不匹配。那怎么了?

谢谢

附言

之后

String skipPtrn="(?<=\\s[РрГг]{1,2})\\.(?>=\\s+?[^\\p{javaUpperCase}\\d])";
originalText=originalText.replaceAll(skipPtrn, " ");

我仍在寻找文本:

1673 р. з'явився

У 1623 р. через

у 1925 р. ("Вiсник

等等

最佳答案

尝试删除 >来自前瞻小组的签名:(?<=\s[XxYy]{1,2})\.(?=\s+?[^\p{javaUpperCase}\d]) .你可以做 (?>x) (原子组)或 (?=x) (零宽度正前瞻)但不是 (?>=x) .

另请注意,您的第二个示例与您的描述不符,也不会与上述正则表达式匹配。

关于java - 正则表达式不匹配,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5896968/

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