gpt4 book ai didi

javascript - 正则表达式可避免两个搜索词之间出现标点符号或任何不需要的字符

转载 作者:行者123 更新时间:2023-12-03 12:15:41 26 4
gpt4 key购买 nike

这是我用作示例的文本。

”狗们去了房子。狗们,去了房子。狗去找了家庭主妇。”

我想使用正则表达式来获取以“dog”开头并以“house”结尾的字符串。我不想要第二行或第三行,因为它们都有标点符号。我确实想捡狗和房子。

我想出的正则表达式是:

/(D|d)og.[^\p{P}|s]{0,40}house.{0,1}(\s|\.)/

但是,似乎不起作用。这是我得到的错误:

Error: Parse error on line 4:
... [

"1,10,0,1,/(C|c)limb
---------------------^
Expecting 'STRING', 'NUMBER', 'NULL', 'TRUE', 'FALSE', '{', '[', ']', got 'undefined'
validated by jsonlint

我学的是经济学,不是计算机编程,所以请对我宽容一些。如果我遗漏任何内容或需要提供其他信息,请告诉我。谢谢。

最佳答案

如果您只想允许单词字符和空格而避免标点符号,您可以这样做:

/dogs?[\w\s]+houses?[\s.]/i

说明:

dog         #  'dog'
s? # 's' (optional)
[\w\s]+ # any character of:
# word characters (a-z, A-Z, 0-9, _),
# whitespace (\n, \r, \t, \f, and " ") (1 or more times)
house # 'house'
s? # 's' (optional)
[\s.] # any character of: whitespace (\n, \r, \t, \f, and " "), '.'

Live Demo

如果您不希望包含结尾标点符号或空格,请在您想要作为匹配结果的匹配模式周围放置一个捕获组:

/(dogs?[\w\s]+houses?)[\s.]/i

或者使用前瞻来断言其中一个位于字符串中的该位置。

/dogs?[\w\s]+houses?(?=[\s.])/i

注意:还添加了 i 修饰符以进行不区分大小写的匹配。

关于javascript - 正则表达式可避免两个搜索词之间出现标点符号或任何不需要的字符,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24718654/

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