Questions tagged «regex»

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

7
用通配符匹配字符串
我想用通配符(*)匹配字符串,其中通配符表示“ any”。例如: *X = string must end with X X* = string must start with X *X* = string must contain X 另外,一些复合用途例如: *X*YZ* = string contains X and contains YZ X*YZ*P = string starts with X, contains YZ and ends with P. 有一个简单的算法可以做到这一点吗?我不确定使用正则表达式(尽管有可能)。 为了清楚起见,用户将在上面的过滤器框中键入内容(尽可能简单的过滤器),我不希望他们自己编写正则表达式。因此,我可以轻松地从上述表示形式进行转换将是一件好事。
71 c#  regex  string  wildcard 

2
Go中的“未知转义序列”错误
我用Go编写了以下函数。这个想法是该函数具有传递给它的字符串,并返回找到的第一个IPv4 IP地址。如果找不到IP地址,则返回一个空字符串。 func parseIp(checkIpBody string) string { reg, err := regexp.Compile("[0-9]+\.[0-9]+\.[0-9]+\.[0-9]+") if err == nil { return "" } return reg.FindString(checkIpBody) } 我得到的编译时错误是 未知的转义序列:。 如何告诉Go'.'我正在寻找的实际角色?我以为转义可以解决问题,但显然我错了。
71 regex  syntax  go 

6
正则表达式在匹配字符串后获取单词
以下是内容: Subject: Security ID: S-1-5-21-3368353891-1012177287-890106238-22451 Account Name: ChamaraKer Account Domain: JIC Logon ID: 0x1fffb Object: Object Server: Security Object Type: File Object Name: D:\ApacheTomcat\apache-tomcat-6.0.36\logs\localhost.2013-07-01.log Handle ID: 0x11dc 我需要捕获该行中单词之后的Object Name:单词。哪个是D:\ApacheTomcat\apache-tomcat-6.0.36\logs\localhost.2013-07-01.log。 我怎样才能做到这一点? ^.*\bObject Name\b.*$ 匹配-对象名称

4
如何用python re.sub只替换部分匹配
我需要通过一个reg表达式匹配两种情况并进行替换 'long.file.name.jpg'->'long.file.name_ suff .jpg' 'long.file.name_ a .jpg'->'long.file.name_ suff .jpg' 我正在尝试执行以下操作 re.sub('(\_a)?\.[^\.]*$' , '_suff.',"long.file.name.jpg") 但这被削减了扩展名“ .jpg”,我得到了 long.file.name_suff。而不是long.file.name_suff.jpg我理解这是由于[^。] * $部分,但是我不能排除它,因为我必须找到要替换的'_a'或最后的'.a。 有没有办法只替换部分比赛?
71 python  regex 


4
如何在Postgresql中删除回车符和换行符?
所有, 我再次陷入尝试以我需要的格式获取数据的问题。我有一个像这样的文本字段。 “ deangelo 001 deangelo 名称的本地来历:italain 来自美国名字deangelo 含义:天使之 情感谱•他是所有人欢乐的源泉。 个人品格•他的好名声是他最宝贵的财富。个性•被火鸡包围时,老鹰很难飞翔!关系•起步很慢,但与deangelo的关系会随着时间而建立。旅行与休闲•他的未来将是一生的旅程。 事业和金钱•天才的孩子,迪安吉洛将需要不断受到挑战。 人生的机会•快乐和幸福等待着这个有福的人。 迪安吉洛的幸运数字:12•38•18•34•29•16 ” 在Postgresql中删除回车符和换行的最佳方法是什么?我已经尝试了几件事,但没有一件事情想要表现。 select regexp_replace(field, E'\r\c', ' ', 'g') from mytable WHERE id = 5520805582 SELECT regexp_replace(field, E'[^\(\)\&\/,;\*\:.\>\<[:space:]a-zA-Z0-9-]', ' ') FROM mytable WHERE field~ E'[^\(\)\&\/,;\*\:.\<\>[:space:]a-zA-Z0-9-]' AND id = 5520805582; 在此先感谢亚当
70 regex  postgresql 

2
JavaScript正则表达式和子匹配项
g设置修饰符后,为什么Java子匹配项停止工作? var text = 'test test test test'; var result = text.match(/t(e)(s)t/); // Result: ["test", "e", "s"] 以上工作正常,result[1]is"e"和result[2]is "s"。 var result = text.match(/t(e)(s)t/g); // Result: ["test", "test", "test", "test"] 上面的内容忽略了我的捕获组。以下是唯一有效的解决方案吗? var result = text.match(/test/g); for (var i in result) { console.log(result[i].match(/t(e)(s)t/)); } /* Result: ["test", "e", "s"] ["test", "e", "s"] …
70 javascript  regex 

2
遍历python正则表达式匹配
这必须比我所遇到的要容易。我的问题是变成一个看起来像这样的字符串: ABC12DEF3G56HIJ7 进入 12 * ABC 3 * DEF 56 * G 7 * HIJ 而且,我一生无法使用REGEX匹配设计正确的循环集。问题的症结在于代码必须是完全通用的,因为我无法假设[A-Z]片段将有多长时间,[0-9]片段也将有多长时间。 感谢您的协助!

5
Mongo中不区分大小写的搜索
我在Mongo中使用不区分大小写的搜索,类似于https://stackoverflow.com/q/5500823/1028488。 即我正在使用带有选项i的正则表达式。但是我在将正则表达式限制为该单词时遇到了麻烦,它的执行效果更像SQL中的“ Like” 例如:如果我使用类似的查询 {"SearchWord" : { '$regex' : 'win', $options: '-i' }},它将向我显示胜利,窗户和冬季的结果。我如何将其限制为jsut show win? 我尝试过,/^win$/但是说无效的杰森...。请提出一种方法。 提前致谢


7
Java将所有方括号替换为字符串
我想从字符串中删除方括号,但我不知道如何。 String str = "[Chrissman-@1]"; str = replaceAll("\\[\\]", ""); String[] temp = str.split("-@"); System.out.println("Nickname: " + temp[0] + " | Power: " + temp[1]); 但是我的结果是:[克里斯曼| 1]方括号不会被删除。 我尝试使用其他正则表达式:"\\[.*?\\]","\\[\\d+\\]" 但结果是相同的,方括号仍附加在字符串上。 编辑: 我试过了: str.replaceAll("]", ""); str.replaceAll("[", ""); 现在我得到: Exception in thread "Thread-4" java.util.regex.PatternSyntaxException: Unclosed character class near index 0 [ ^ at java.util.regex.Pattern.error(Unknown …
69 java  regex  string  split 

7
vim regex用一个空格替换多个连续的空格
我经常处理文本文件,这些文本文件中的单词分隔符具有可变的空白量(像Word这样的文本处理器会这样做,由于某些字体中的字母大小不同,会公平地分配空白量,即使在另存为纯文本)。 我想自动化将具有可变长度的空白序列替换为单个空格的过程。我怀疑正则表达式可以做到这一点,但是在段落的开头也有空格(通常是四个空格,但并非总是如此),我想让其保持不变,因此,基本上我的正则表达式也不应碰到开头的空格,并且增加了复杂性。 我正在使用vim,因此如果可行,vim regex方言中的regex对我将非常有用。 我当前的进度看起来像这样: :%s/ \+/ /g 但它不能正常工作。 我也在考虑编写一个vim脚本,该脚本可以逐行解析文本行,逐字符处理每行字符,并在第一个字符之后跳过空格,但是我觉得这可能会过大。
69 regex  vim 

3
使用BeautifulSoup查找包含某些文本的HTML标签
我正在尝试获取HTML文档中包含以下文本模式的元素:#\ S {11} <h2> this is cool #12345678901 </h2> 因此,前者将通过使用以下内容进行匹配: soup('h2',text=re.compile(r' #\S{11}')) 结果将是这样的: [u'blahblah #223409823523', u'thisisinteresting #293845023984'] 我可以获取所有匹配的文本(请参见上面的行)。但是我希望文本的父元素匹配,因此我可以将其用作遍历文档树的起点。在这种情况下,我希望所有h2元素都返回,而不是文本匹配。 有想法吗?

5
如何从选择字符串中获取捕获的组?
我正在尝试使用Powershell(版本4)从Windows上的一组文件中提取文本: PS > Select-String -AllMatches -Pattern <mypattern-with(capture)> -Path file.jsp | Format-Table 到现在为止还挺好。这给出了一组不错的MatchInfo对象: IgnoreCase LineNumber Line Filename Pattern Matches ---------- ---------- ---- -------- ------- ------- True 30 ... file.jsp ... {...} 接下来,我看到捕获在matchs成员中,因此我将它们取出: PS > Select-String -AllMatches -Pattern <mypattern-with(capture)> -Path file.jsp | ForEach-Object -MemberName Matches | Format-Table 这使: Groups Success Captures Index …


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.