[ol]欢迎大家在这篇文章下面评论留言,给出自己在日常 coding 的过程中写过的正则表达式,并给出说明和示例,注明对应的语言,如果能给出如何写出来的详细解释更好。欢迎大家留言给出自己想要实现的正则表达式(注明语言),然后群友给 ta 解答。欢迎大家“优化”已经留言的正则表达式。我希望这篇文章成为所有 “讨厌” 和 “喜爱” 正则表达式的同学的聚集地,并最终能让所有人理解和熟悉正则表达式。 [/ol]
lua 语言,jdtls 取 Class 名称 %[([%a%$_]?[%.%w%(%)*"+,\\_%[%]%s :%-@]*)%]%(jdt://[^%)]+%) 测试字符 [String](jdt://xxxxxxxx)
/^(\+|-)?\d+(\.\d+)?(E(\+|-)?\d+)?$/i 我先来一个,这个表示所有 JavaScript 中的所有数字格式,可以带正负号,可以是整数,可以是浮点数,可以是带 E|e 的科学计数法格式。比如 “1” “+1” “-1” “-2.4879983487” “2.34E-2”(表示 2.34 * 10^-2 ,也就是 0.0234) “2.34e3”(表示 2340)
# 下面的正则是把用户输入的(无意义)大于 2 个字的重复的内容变成单个. 没想到有什么好的,简单的算法实现. 使用正则就比较简单.(python 代码) userInputText = """ 测试测试测试 哈哈哈哈哈哈哈哈哈哈哈哈 哈哈哈 你在干嘛呢?你在干嘛呢?你在干嘛呢?你在干嘛呢?你在干嘛呢?你在干嘛呢?你在干嘛呢?你在干嘛呢?你在干嘛呢? """ import re regex = r"(?P.{2,100}?)(?P=r){2,}" subst = "\\1" outputText = re.sub(regex, subst, userInputText, 0, re.MULTILINE) print("## input") print(userInputText) print("## output:") print(outputText) # 输出: ## input 测试测试测试 哈哈哈哈哈哈哈哈哈哈哈哈 哈哈哈 你在干嘛呢?你在干嘛呢?你在干嘛呢?你在干嘛呢?你在干嘛呢?你在干嘛呢?你在干嘛呢?你在干嘛呢?你在干嘛呢? ## output: 测试 哈哈 哈哈哈 你在干嘛呢?