gpt4 book ai didi

regex - 正则表达式中的问题

转载 作者:行者123 更新时间:2023-12-01 11:05:27 25 4
gpt4 key购买 nike

我正在使用以下表达式:

/^[alopinme]{5}$/

此正则表达式从括号中包含字母的一组单词中提取单词。

好吧,现在我需要为这样的表达式添加更多功能,因为我需要获取的单词只能包含另一组字母中的一个字母。假设我想得到由 A 组中的字母组成的单词,并且可以(如果存在)包含 B 组中的另一个字母。

我试图猜测如何完成我的正则表达式,但我没有找到正确的方法。

谁能帮帮我?

谢谢。

编辑:

这里我举个例子:

SELECT sin_acentos FROM Finder.palabras_esp WHERE sin_acentos REGEXP '^[tehsolm]{5}$'

这个表达式选择我这样的词:helms,moths meths homes 等等......

但我需要添加一组字母 B 并从该组中获取只能包含一个的单词。假设我有另一组字母 [xzk],所以表达式可以得到更多的单词,但只能从集合 B 中选择一个字母。

结果可能会得到像这样的词:mozes、hoxes、tozes 等等...如果你检查这些词,你会发现每个词的大部分字母来自集合 A,但只有一个来自集合 B。

最佳答案

如果其他字符中的一个应该只出现一次,您可以使用:

^(?=.{5}$)[alopinme]*(?:[XYZ][alopinme]*)?$
  • (?=.{5}$) - 检查字符串是否为 5 个字符长,甚至在匹配之前。 (这可能不适用于 MySql)
  • [alopinme]* - 来自 A 的字符
  • (?:[XYZ][alopinme]*)? - 可选 - 一个字符来自 B,还有一些来自 A。

工作示例:http://rubular.com/r/aw6l561Int

或者,如果您最多需要 3 次,例如:

^(?=.{5}$)[alopinme]*(?:[XYZ][alopinme]*){0,3}$

关于regex - 正则表达式中的问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11921830/

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