gpt4 book ai didi

java - 用于获取用双引号引起来的短语的正则表达式

转载 作者:搜寻专家 更新时间:2023-11-01 02:30:34 25 4
gpt4 key购买 nike

我需要帮助来构建正则表达式。我正在编写一个在字符串中查找特定单词的软件。但我还需要寻找短语。该字符串由用户在文本框中输入。

目前我使用以下正则表达式 \s+ 将空格替换为 & 符号:word1 word2 word3word1&word2&word3

我的新要求必须包括用引号引起来的短语,例如在 Google 中搜索短语。

"word1 word2" "word3 word4" word5

必须是:

word1 word2&word3 word4&word5

提前致谢。

编辑:如果有其他方式或方法可以做到这一点,我愿意接受任何想法。

最佳答案

这假设任务是平衡的——你有偶数个任务,而不是中间的任务。

您可以匹配 /"([^"]+)"|(\S+)/ - 这将导致您的单词 - 带引号的字符串或非空格。它捕获了单词组 1 2,然后您可以使用 & 分隔符join 结果。

另一种选择:您可以在单个替换中获取它,这与第一种模式非常相似,方法是跳过您的标记。这是一个 JavaScript 示例:

s = s.replace(/(?:"([^"]+)"|(\S+))\s*/g, '$1$2&');

(请注意,字符串末尾会有一个额外的符号)

关于java - 用于获取用双引号引起来的短语的正则表达式,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10468439/

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