Questions tagged «regex»

正则表达式提供了一种声明性语言来匹配字符串中的模式。它们通常用于字符串验证,解析和转换。由于正则表达式尚未完全标准化,因此带有此标签的所有问题还应包括一个标签,用于指定适用的编程语言或工具。注意:询问HTML,JSON等正则表达式往往会产生负面反应。如果有解析器,请改用它。

6
正则表达式用小写字母替换大写
我正在尝试使用正则表达式将大写字母替换为相应的小写字母。以便 EarTH: 1, MerCury: 0.2408467, venuS: 0.61519726, 变成 earth: 1, mercury: 0.2408467, venus: 0.61519726, 在崇高文字中。如何仅在同时包含大写和小写字母的单词中对字母进行小写?因此它影响venUs而不是VENUS。


10
如何在sh中使用'find'的'-prune'选项?
我不太了解中提供的示例man find,有人可以给我一些示例和解释吗?我可以在其中结合正则表达式吗? 更详细的问题是这样的: 编写一个shell脚本,changeall该脚本的接口类似于changeall [-r|-R] "string1" "string2"。它会找到的所有文件的后缀.h,.C,.cc,或.cpp和更改所有出现string1到string2。-r是仅保留当前目录或包含子目录的选项。 注意: 对于非递归情况,ls不允许使用,我们只能使用find和sed。 我尝试过,find -depth但不支持。这就是为什么我想知道是否-prune可以提供帮助,但不了解的示例的原因man find。 EDIT2:我正在做作业,我没有详细询问问题,因为我想自己完成。既然我已经完成并提交了,现在我可以陈述整个问题。另外,我设法不使用来完成任务-prune,但无论如何都想学习。
219 regex  shell  find  manual 

5
正则表达式中的AND / OR运算符如何表示?
我目前正在编程一种词汇算法,该算法可以检查用户是否正确输入了单词。我有以下情况:单词的正确解决方案是“ part1,part2”。用户应该能够输入“ part1”(答案1),“ part2”(答案2)或“ part1,part2”(答案3)。我现在尝试将用户给定的字符串与以下自动创建的正则表达式进行匹配: ^(part1|part2)$ 这只会返回正确的答案1和2,而答案3是错误的。我现在想知道是否存在类似于|的运算符。表示and/or而不是either...or。 谁能帮我解决这个问题?
219 regex  operators 


21
用grep在一行中匹配两个字符串
我试图用来grep匹配包含两个不同字符串的行。我尝试了以下内容,但此匹配包含以下内容的行 string1 或 string2的这不是我想要的。 grep 'string1\|string2' filename 那我怎么搭配 grep只与包含两个字符串的行?
218 regex  linux  string  grep 


30
正则表达式电子邮件验证
我用这个 @"^([\w\.\-]+)@([\w\-]+)((\.(\w){2,3})+)$" regexp验证电子邮件 ([\w\.\-]+)-适用于一级域(许多字母和数字,也包括点和连字符) ([\w\-]+)-适用于二级域 ((\.(\w){2,3})+)-适用于包含点和2或3的其他一级域(从3到无穷大)文字 这个正则表达式有什么问题? 编辑:它与“ something@someth.ing”电子邮件不匹配
215 c#  regex  validation 

18
JavaScript的String.indexOf()是否有允许正则表达式的版本?
在javascript中,是否有等效的String.indexOf()接受正则表达式而不是第一个第一个参数的字符串,同时仍允许第二个参数? 我需要做类似的事情 str.indexOf(/[abc]/ , i); 和 str.lastIndexOf(/[abc]/ , i); 虽然String.search()将regexp作为参数,但不允许我指定第二个参数! 编辑: 事实证明,这比我最初想象的要难,所以我编写了一个小的测试函数来测试所有提供的解决方案...假定regexIndexOf和regexLastIndexOf已添加到String对象。 function test (str) { var i = str.length +2; while (i--) { if (str.indexOf('a',i) != str.regexIndexOf(/a/,i)) alert (['failed regexIndexOf ' , str,i , str.indexOf('a',i) , str.regexIndexOf(/a/,i)]) ; if (str.lastIndexOf('a',i) != str.regexLastIndexOf(/a/,i) ) alert (['failed regexLastIndexOf ' , str,i,str.lastIndexOf('a',i) …

16
用多个其他字符串替换多个字符串
我正在尝试用多个其他单词替换字符串中的多个单词。字符串是“我有一只猫,一条狗和一只山羊”。 但是,它不会产生“我有一只狗,一只山羊和一只猫”,而是会产生“我有一只猫,一只猫和一只猫”。在JavaScript中是否可以同时用多个其他字符串替换多个字符串,以便产生正确的结果? var str = "I have a cat, a dog, and a goat."; str = str.replace(/cat/gi, "dog"); str = str.replace(/dog/gi, "goat"); str = str.replace(/goat/gi, "cat"); //this produces "I have a cat, a cat, and a cat" //but I wanted to produce the string "I have a dog, a goat, …

22
为什么正则表达式这么有争议?[关闭]
已关闭。这个问题是基于观点的。它当前不接受答案。 想改善这个问题吗?更新问题,以便通过编辑此帖子以事实和引文回答。 6年前关闭。 改善这个问题 在探索正则表达式(也称为RegEx-es)时,似乎有很多人将正则表达式视为圣杯。看起来如此复杂的东西-仅仅是任何问题的答案。他们倾向于认为使用正则表达式可以解决每个问题。 另一方面,也有许多人试图不惜一切代价避免使用正则表达式。他们试图找到一种围绕正则表达式的方法,并仅出于此目的接受其他编码,即使正则表达式将是一个更紧凑的解决方案。 为什么正则表达式这么有争议?关于它们的工作原理是否存在广泛的误解?还是可以广泛相信正则表达式通常很慢?
212 regex 

7
如何匹配而不是捕获正则表达式的一部分?
我有一个字符串列表。其中一些具有形式123-...456。可变部分“ ...”可以是: 字符串“ apple”后跟连字符,例如 123-apple-456 字符串“ banana”后跟连字符,例如 123-banana-456 一个空白字符串,例如123-456(请注意,只有一个连字符) 除“ apple”或“ banana”外,其他任何单词均无效。 对于这三种情况,我想分别匹配“ apple”,“ banana”和“”。请注意,我从不希望捕获连字符,但是我总是想匹配它。如果字符串不是上述形式123-...456,则根本没有匹配项。 如何编写正则表达式来做到这一点?假设我有允许先行,后进,环顾和不捕获群组的功能。 此处的主要观察结果是,当您拥有“苹果”或“香蕉”时,还必须具有结尾的连字符,但您不希望将其匹配。并且,当您匹配空白字符串时,您必须没有结尾的连字符。我认为,封装此断言的正则表达式将是正确的。
209 regex 

15
删除多个空格
我$row['message']从MySQL数据库获取数据,因此需要删除所有空白\n \t,依此类推。 $row['message'] = "This is a Text \n and so on \t Text text."; 应格式化为: $row['message'] = 'This is a Text and so on Text text.'; 我试过了: $ro = preg_replace('/\s\s+/', ' ',$row['message']); echo $ro; 但不会删除\n或\t,而只能删除单个空格。谁能告诉我该怎么做?

21
在JavaScript中将大字符串拆分为n个大小的块
我想将一个非常大的字符串(例如10,000个字符)分割成N个大小的块。 就性能而言,最佳方法是什么? 例如: "1234567890"被2分割成["12", "34", "56", "78", "90"]。 使用这种方法是否可行?String.prototype.match如果可以,从性能角度来看,这是否是最佳方法?


By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.