Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/regex/20.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Regex 表达式以查找由常量包围的特定长度字符串_Regex - Fatal编程技术网

Regex 表达式以查找由常量包围的特定长度字符串

Regex 表达式以查找由常量包围的特定长度字符串,regex,Regex,我很少做正则表达式,所以它们总是挑战我。即使是简单的 如何生成一个正则表达式来匹配所有这些条件: := 'abc' := 'xyz' := '2rs' := 'abe' := 'a2c' 基本上,它以:='开头,以'结尾,里面有三个值。可以是数字或字符。类似的内容应该可以使用(): 说明: :=”按字面意思匹配,因为它们不是元字符 [a-z0-9]定义与小写字母和数字匹配的字符类 {3}是精确的重复,3次 (…)是一个捕获组(不需要,但可能很方便) 这种模式的微小变化包括: [

我很少做正则表达式,所以它们总是挑战我。即使是简单的

如何生成一个正则表达式来匹配所有这些条件:

 := 'abc'
 := 'xyz'
 := '2rs'
 := 'abe'
 := 'a2c'

基本上,它以
:='
开头,以
'
结尾,里面有三个值。可以是数字或字符。

类似的内容应该可以使用():

说明:

  • :=”
    按字面意思匹配,因为它们不是元字符
  • [a-z0-9]
    定义与小写字母和数字匹配的字符类
  • {3}
    是精确的重复,3次
  • (…)
    是一个捕获组(不需要,但可能很方便)
这种模式的微小变化包括:

  • [a-zA-Z0-9]
    改为也允许大写字母
  • {1,3}
    改为允许1-3次重复
  • :=*'
    改为允许任意数量的空格(
    *
    这里的意思是“零次或多次重复”)
regular-expressions.info
  • ,
  • -有关于主要正则表达式口味差异的信息

什么语言?需要从组中提取匹配项的提示吗?我正在尝试在我的代码中进行搜索(本例中为delphi)。它是超旧的遗留代码(Delphi5)。GExperts(一个插件)允许我通过正则表达式进行搜索。我试图在我的代码中找到3个字符值的所有赋值。看起来很棒!谢谢然而,我必须有一个旧的注册Ex引擎,因为它不工作。(我将GExperts grep与Delphi 5一起使用(我知道这很悲哀))。我可能会尝试找到一个更先进的工具来搜索文件。谢谢你提供的额外信息和链接。@Vaccano:我没有关于GExperts
grep
如何工作的任何信息,但我相信GNU
grep
重复是
\{3\}
();试试看,告诉我它是否有效。(这也是为什么你在问正则表达式问题时总是要指定味道的原因。)唉,没有。我把整个重复部分都去掉了,它与任何东西都不匹配。谢谢你的帮助,你的答案是正确的,我会这样做的。然后我会尝试找到一个更流行的注册引擎来搜索我的文件。谢谢所有的帮助。我认为GExperts“有自己的”引擎。事实证明,这就是我所需要的:
\:=':a:a'
@Vaccano:根据你的研究,毫不犹豫地写下你自己关于如何在GExperts中实现这一点的答案。我相信将来其他人会感激你的努力。如果你愿意,你也可以把它放在一个新的问题中(例如,“gexperts中的正则表达式语法是如何工作的?”等等)。在stackoverflow中回答您自己的问题是可以的,只要内容好。
:= '([a-z0-9]{3})'