Questions tagged «regex»

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


5
.NET正则表达式中的“组”和“捕获”之间有什么区别?
对于.NET的正则表达式语言,“组”和“捕获”之间的区别让我有些模糊。考虑以下C#代码: MatchCollection matches = Regex.Matches("{Q}", @"^\{([A-Z])\}$"); 我希望这会导致字母'Q'的单个捕获,但是如果我打印返回的属性,则会MatchCollection看到: matches.Count: 1 matches[0].Value: {Q} matches[0].Captures.Count: 1 matches[0].Captures[0].Value: {Q} matches[0].Groups.Count: 2 matches[0].Groups[0].Value: {Q} matches[0].Groups[0].Captures.Count: 1 matches[0].Groups[0].Captures[0].Value: {Q} matches[0].Groups[1].Value: Q matches[0].Groups[1].Captures.Count: 1 matches[0].Groups[1].Captures[0].Value: Q 这到底是怎么回事?我知道整个比赛也都有机会,但是小组如何进入?为什么不matches[0].Captures包括字母“ Q”的捕获?
161 c#  .net  regex 

5
使用正则表达式搜索并替换bash
我看过这个例子: hello=ho02123ware38384you443d34o3434ingtod38384day echo ${hello//[0-9]/} 遵循以下语法: ${variable//pattern/replacement} 不幸的是,该pattern字段似乎不支持完整的正则表达式语法(例如,如果我使用.或\s,它将尝试匹配文字字符)。 如何使用完整的正则表达式语法搜索/替换字符串?
161 regex  bash 

15
如何在JavaScript中使用类似于PHP的preg_match_all()的正则表达式匹配多个匹配项?
我正在尝试解析由以key &或value分隔的key = value对组成的url编码的字符串&。 以下将仅匹配第一个匹配项,将键和值拆分为单独的结果元素: var result = mystring.match(/(?:&|&)?([^=]+)=([^&]+)/) 字符串'1111342 = Adam%20Franco&348572 = Bob%20Jones'的结果为: ['1111342', 'Adam%20Franco'] 使用全局标志'g'将匹配所有匹配项,但仅返回完全匹配的子字符串,而不返回分离的键和值: var result = mystring.match(/(?:&|&)?([^=]+)=([^&]+)/g) 字符串'1111342 = Adam%20Franco&348572 = Bob%20Jones'的结果为: ['1111342=Adam%20Franco', '&348572=Bob%20Jones'] 虽然我可以将字符串分割开来&并分别拆分每个键/值对,但是有没有办法使用JavaScript的正则表达式支持来匹配多次出现/(?:&|&)?([^=]+)=([^&]+)/类似于PHP preg_match_all()函数的模式? 我的目标是通过一些子匹配来获得结果,例如: [['1111342', '348572'], ['Adam%20Franco', 'Bob%20Jones']] 要么 [['1111342', 'Adam%20Franco'], ['348572', 'Bob%20Jones']]
160 javascript  regex 

6
创建正则表达式匹配数组
在Java中,我试图将所有正则表达式匹配项返回到数组,但是似乎您只能检查模式是否匹配某些内容(布尔值)。 如何使用正则表达式匹配在给定字符串中形成所有与正则表达式匹配的字符串数组?
160 java  regex 

7
将字符串插入正则表达式
我需要将字符串的值替换为Ruby中的正则表达式。是否有捷径可寻?例如: foo = "0.0.0.0" goo = "here is some other stuff 0.0.0.0" if goo =~ /value of foo here dynamically/ puts "success!" end
160 ruby  regex 

6
使用正则表达式将char转换为大写(EditPad Pro)
我写了一个正则表达式,希望我可以将每一个匹配(只是一个字符)替换为大写字符。我正在使用EditPad Pro(但是我愿意使用任何其他允许我执行此操作的工具,只要可以免费尝试,因为我只需要执行一次即可)。 背景:我有一个非常长的文本文件,由区分大小写的应用程序使用,有些单词以小写字母而不是大写char开头,从而使应用程序崩溃。手工完成这将花费很长时间,并且如果不使用正则表达式将非常复杂,因为(邪恶的)小写字符char的出现是非常特定的。 我已经编写了select正则表达式,现在可以将其与反向引用一起使用($ 1可以正常工作),但是我不能用大写char代替它。我以为\ u $ 1之类的东西可以工作,但是在EditPad Pro中却不行。 如果没有免费的工具允许我执行此操作,那么我猜替代方法是仅使用C#进行操作,但是我有点着急,而且没有靠近编译器,因此我必须先下载快速版本,因此...最好找到一种支持这种功能的工具! 谢谢!
159 regex 

5
匹配换行符-\ n或\ r \ n?
在写此答案时,我必须完全匹配换行符,而不是使用s-flag(dotall -点匹配换行符)。 尝试匹配\n或时,通常用于测试正则表达式的网站的行为会有所不同\r\n。 我注意到 Regex101仅与上的换行符匹配\n (示例 -删除\r并匹配) RegExr匹配换行符既不上\n 也不对\r\n ,我无法找到的东西,使之匹配断行,除了m-flag和\s (例如) Debuggex的行为更加不同: 在此示例中\r\n,它仅与匹配,而 此处仅与匹配\n,并且指定了相同的标志和引擎 我完全知道m-flag(多行-使^匹配行的开头和$结尾),但是有时这不是一个选择。与相同\s,因为它也匹配制表符和空格。 我认为使用unicode换行符(\u0085)失败,因此: 有没有一种故障保险方法,可以将换行符上的匹配项(无论使用哪种语言,最好都集成到正则表达式中)? 上述网站为什么不同的表现(尤其是Debuggex,一旦匹配只有\n一次只\r\n)?

12
如何在Java中将CamelCase转换为人类可读的名称?
我想编写一种将CamelCase转换为人类可读名称的方法。 这是测试用例: public void testSplitCamelCase() { assertEquals("lowercase", splitCamelCase("lowercase")); assertEquals("Class", splitCamelCase("Class")); assertEquals("My Class", splitCamelCase("MyClass")); assertEquals("HTML", splitCamelCase("HTML")); assertEquals("PDF Loader", splitCamelCase("PDFLoader")); assertEquals("A String", splitCamelCase("AString")); assertEquals("Simple XML Parser", splitCamelCase("SimpleXMLParser")); assertEquals("GL 11 Version", splitCamelCase("GL11Version")); }







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.