说我有句话:我是个好买家,也是个坏男孩如何使用正则表达式选择这个句子中除男孩以外的每个单词?
u4dcyp6a1#
你 可以 用 * * 负 后面 看 * * :
\w+\b(?<!\bboy)
中 的 每 一 个或 * * 负 向前 看 * * 自 不 全 支持 负 向后 看
(?!boy\b)\b\w+
格式您 可以 阅读 有关 负 前瞻 here
z9zf31ra2#
请尝试:
\b(?!boy\b).*?\b
这意味着:
\b
83qze16e3#
/\b(?!boy)\S+/g
j2datikz4#
如果你用“男孩”作为分割器,你会得到剩下的部分。你可以用那些作为选择键。
>>> re.split("boy","I am a good buy and bad boy too") ['I am a good buy and bad ', ' too']
ndasle7k5#
将boy替换为nothing...在Perl中,这将是:
s/boy //g
nwwlzxa76#
我使用http://regex101.com测试了以下内容:
\b(?!boy)\S+|\w*\b$
这提供了所有由空格分隔的单词的列表,但只排除了所要求的单词“boy”。
5sxhfpxr7#
作为替代,如果p持续量词可用,则可以使用;
\w++(?<!boy)
与使用世界边界相比,它通常需要更少的步骤。
bfrts1fy8#
哪种语言?为什么要使用正则表达式?
answer = yourString.Replace( "boy", "" );
8条答案
按热度按时间u4dcyp6a1#
你 可以 用 * * 负 后面 看 * * :
中 的 每 一 个
或 * * 负 向前 看 * * 自 不 全 支持 负 向后 看
格式
您 可以 阅读 有关 负 前瞻 here
z9zf31ra2#
请尝试:
这意味着:
\b
)**注意:**断字与字符串的开头、结尾以及从单词(数字、字母或下划线)到非单词字符的任何转换相匹配,反之亦然。
83qze16e3#
j2datikz4#
如果你用“男孩”作为分割器,你会得到剩下的部分。你可以用那些作为选择键。
ndasle7k5#
将boy替换为nothing...在Perl中,这将是:
nwwlzxa76#
我使用http://regex101.com测试了以下内容:
这提供了所有由空格分隔的单词的列表,但只排除了所要求的单词“boy”。
5sxhfpxr7#
作为替代,如果p持续量词可用,则可以使用;
与使用世界边界相比,它通常需要更少的步骤。
bfrts1fy8#
哪种语言?为什么要使用正则表达式?