2024-09-28 16:57:05 发布
网友
我被regexp卡住了:
[b-df-hj-np-tv-xz](?=[aeiouy])
结果是: hielalao 但是我需要regexp,它的结果是:hIelalao
正如jornsharpe所建议的那样(?<=[^aeiouy])[aeiouy]是错误的,因为它与例如。 在空格或数字后的元音
(?<=[^aeiouy])[aeiouy]
要完成任务,请使用:
(?<=[b-df-hj-np-tv-xz])[aeiouy]
可能带有re.I(忽略大小写)标志
第一部分((?<=[b-df-hj-np-tv-xz]))是一个积极的回顾, 检查你的情况“之前有一个元音”。 第二部分([aeiouy])只匹配一个辅音
(?<=[b-df-hj-np-tv-xz])
[aeiouy]
有关环顾四周(向后看和向前看)的说明,请在Web上搜索。 即使在上,你也会找到大量的解释和例子
有关regex101中的示例,请参见https://regex101.com/r/Ze9hr0/1
你的正则表达式说“我想匹配一个辅音;它后面应该跟一个元音”。但是你的要求是“我想匹配一个元音;它前面应该有一个辅音”
更准确地说,您希望从前向断言(?=...)切换到后向断言(?<=...),并可能理解前后向断言的含义。查找添加了一个条件,但与满足该条件的文本不匹配(或“使用”)。所以
(?=...)
(?<=...)
匹配元音,但前提是前一个字符满足lookback
正如jornsharpe所建议的那样
(?<=[^aeiouy])[aeiouy]
是错误的,因为它与例如。 在空格或数字后的元音要完成任务,请使用:
可能带有re.I(忽略大小写)标志
第一部分(
(?<=[b-df-hj-np-tv-xz])
)是一个积极的回顾, 检查你的情况“之前有一个元音”。 第二部分([aeiouy]
)只匹配一个辅音有关环顾四周(向后看和向前看)的说明,请在Web上搜索。 即使在上,你也会找到大量的解释和例子
有关regex101中的示例,请参见https://regex101.com/r/Ze9hr0/1
你的正则表达式说“我想匹配一个辅音;它后面应该跟一个元音”。但是你的要求是“我想匹配一个元音;它前面应该有一个辅音”
更准确地说,您希望从前向断言
(?=...)
切换到后向断言(?<=...)
,并可能理解前后向断言的含义。查找添加了一个条件,但与满足该条件的文本不匹配(或“使用”)。所以匹配元音,但前提是前一个字符满足lookback
相关问题 更多 >
编程相关推荐