刚刚开始探索正则表达式的“奇迹”。作为一个从试验和错误中学习的人,我真的很努力,因为我的试验抛出了不成比例的错误……我的实验是在PHP中使用ereg()进行的。
无论如何。我分别使用名字和姓氏,但现在使用相同的正则表达式。到目前为止,我有:
^[A-Z][a-zA-Z]+$
任何以大写字母开头且其余仅包含字母(大写或不大写)的长度字符串。但是我分崩离析的地方是在几乎任何地方都可能发生的特殊情况下。
也许还有其他我可能没有想到的名字,但是我怀疑如果我能对此有所了解,我可以添加一下。我敢肯定,在某些情况下,一种以上的情况会以一种名字出现。
因此,我认为最重要的是让我的正则表达式也接受空格,连字符,“&”号和撇号-但从技术上讲,该名称的开头或结尾不正确。
在第二个字符类中添加-。最简单的方法是在开始时添加它,这样就不可能将其解释为范围修饰符(如所述a-z
)。
^ [AZ] [-a-zA-Z] + $
这样做的天真方法如下:
^ [AZ] [-'a-zA-Z] + $
别忘了您可能需要将其转义到字符串中!给定您的示例,“更好”的方式可能是:
^ [AZ]'?[-a-zA-Z] + $
这将在第二位置允许单撇号。
在这里,我很想再做一次我们的天真做法:
^ [AZ]'?[-a-zA-Z] + $
可能更好的方法可能是:
^ [AZ]'?[-a-zA-Z]([a-zA-Z])* $
最后寻找多余的单词。如果您要在大量额外的文本中匹配名称,这可能不是一个好主意,但是同样,原件也不会做得很好。
此时,您不再查看单个名称了吗?
无论如何,正如您所看到的,正则表达式具有快速增长的习惯…
昨天,我需要向正则表达式添加一个文件路径,创建一个如下所示的模式: 一开始正则表达式不匹配,因为包含几个正则表达式特定的符号,如 或 。作为快速修复,我将它们替换为 和 . 与 . 然而,我问自己,是否没有一种更可靠或更好的方法来清除正则表达式特定符号中的字符串。 Python 标准库中是否支持此类功能? 如果没有,您是否知道一个正则表达式来识别所有正则表达式并通过替代品清理它们?
在 OpenResty 中,同时存在两套正则表达式规范:Lua 语言的规范和 ngx.re.* 的规范,即使您对 Lua 语言中的规范非常熟悉,我们仍不建议使用 Lua 中的正则表达式。一是因为 Lua 中正则表达式的性能并不如 ngx.re.* 中的正则表达式优秀;二是 Lua 中的正则表达式并不符合 POSIX 规范,而 ngx.re.* 中实现的是标准的 POSIX 规范,后者明显更具备通用
一、概述 二、匹配单个字符 三、匹配一组字符 四、使用元字符 五、重复匹配 六、位置匹配 七、使用子表达式 八、回溯引用 九、前后查找 十、嵌入条件 参考资料 一、概述 正则表达式用于文本内容的查找和替换。 正则表达式内置于其它语言或者软件产品中,它本身不是一种语言或者软件。 正则表达式在线工具 二、匹配单个字符 . 可以用来匹配任何的单个字符,但是在绝大多数实现里面,不能匹配换行符; . 是元字
这部分内容可以说是学习shell脚本之前必学的内容。如果你这部分内容学的越好,那么你的shell脚本编写能力就会越强。所以不要嫌这部分内容啰嗦,也不要怕麻烦,要用心学习。一定要多加练习,练习多了就能熟练掌握了。 在计算机科学中,正则表达式是这样解释的:它是指一个用来描述或者匹配一系列符合某个句法规则的字符串的单个字符串。在很多文本编辑器或其他工具里,正则表达式通常被用来检索和/或替换那些符合某个模
正则表达式 有些人在面对问题时,不经大脑便认为,“我知道,这里该用正则表达式”。现在他要面对两个问题了。 ——Jamie Zawinski 如果只是在字符串中进行简单的文本搜索,不要使用正则表达式,比如 string['text']。 对于简单的构建操作,使用正则表达式作为索引即可。 match = string[/regexp/] # 获取匹配的内容 first_grou
目标 var web_development = "python php ruby javascript jsonp perhapsphpisoutdated"; 找出其中 包含 p 但不包含 ph 的所有单词,即 [ 'python', 'javascript', 'jsonp' ] 知识点 正则表达式的使用 js 中的正则表达式与 pcre(http://en.wikipedia.org/wi