gpt4 book ai didi

java - 当开始或结束为空时,正则表达式不匹配

转载 作者:行者123 更新时间:2023-11-30 06:54:48 25 4
gpt4 key购买 nike

这是我的正则表达式,因为我已将其输入到我的 java 文件中。

String myRegex = "(?<=[^a-zA-Z0-9])(target)(?=[^a-zA-Z0-9])";

如果我有一个字符串如下:

.target. - 有效。

但是,如果我有一个仅表示 target 的字符串,它就不起作用。我如何修改正则表达式,以便即使字符串的开头或结尾没有任何内容,它仍然匹配?

编辑 - 示例。

_target - 应该成功!

target_ - 应该成功!

target - 应该成功!

目前这些示例在当前正则表达式下失败。

最佳答案

使用正则表达式 alternation(即 |,这是一个逻辑“或”):

String myRegex = "(?<=^|[^a-zA-Z0-9])target(?=[^a-zA-Z0-9]|$)";

你的正则表达式的问题是你的 look behind required 前面的字符不是字母/数字。

这些环顾四周也匹配输入的开始/结束。

参见 live demo .

关于java - 当开始或结束为空时,正则表达式不匹配,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36001926/

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