gpt4 book ai didi

RegEx - 在单字符之前匹配单词,而不是双字符?

转载 作者:行者123 更新时间:2023-11-30 23:49:42 24 4
gpt4 key购买 nike

Iceland :Country\nEurope::Continent\nReykjavik:City



使用上面的字符串,我想匹配出现在单个冒号之前的单词,但不匹配出现在双冒号之前的单词。此外,如果单个冒号之前有空格,我希望它被忽略并匹配空格之前的单词。

所以从上面的字符串我想匹配“冰岛”(没有尾随空格)和“雷克雅未克”。

我认为创建捕获组会起作用,但它不会:
/(\w+(?=:))(?!=::)/gm

我不知道如何忽略单个冒号前的空格。

最佳答案

我认为您的否定前瞻断言的语法错误......它是 (?!pattern),而不是 (?!=pattern)。

所以尝试:

/(\w+(?=:))(?!::)/gm

[编辑 - 错过了问题的另一部分]

要忽略空格,只需匹配它但不要捕获它。
perl -nle 'print $1 if /(\w+)\s*(?=:)(?!::)/gm'
hello ::there :dude

...打印“那里”。

关于RegEx - 在单字符之前匹配单词,而不是双字符?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6117237/

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