Questions tagged «regex»

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

9
空格匹配正则表达式-Java
用于正则表达式的Java API 声明\s将匹配空格。因此,正则表达式\\s\\s应匹配两个空格。 Pattern whitespace = Pattern.compile("\\s\\s"); matcher = whitespace.matcher(modLine); while (matcher.find()) matcher.replaceAll(" "); 目的是用单个空格替换两个连续空格的所有实例。但是,这实际上不起作用。 我是否对正则表达式或“空白”有严重的误解?
106 java  regex  whitespace 


2
Python Regex立即替换组
有没有办法使用正则表达式语法直接替换所有组? 正常方式: re.match(r"(?:aaa)(_bbb)", string1).group(1) 但我想实现以下目标: re.match(r"(\d.*?)\s(\d.*?)", "(CALL_GROUP_1) (CALL_GROUP_2)") 我想从正则表达式刚刚捕获的组中立即构建新字符串。

6
?:,?有什么区别?和?=在正则表达式中?
我搜索了这些表达式的含义,但无法理解它们之间的确切区别。他们是这样说的: ?: 匹配表达式,但不捕获它。 ?= 匹配后缀,但将其从捕获中排除。 ?! 如果没有后缀,则匹配。 我尝试在简单的RegEx中使用它们,并获得了相似的结果。示例:以下3个表达式给出的结果非常相似。 [a-zA-Z0-9._-]+@[a-zA-Z0-9-]+(?!\.[a-zA-Z0-9]+)* [a-zA-Z0-9._-]+@[a-zA-Z0-9-]+(?=\.[a-zA-Z0-9]+)* [a-zA-Z0-9._-]+@[a-zA-Z0-9-]+(?:\.[a-zA-Z0-9]+)*
106 javascript  regex 


5
Ruby正则表达式使用变量名
是否可以基于变量名称的值在ruby中创建/使用正则表达式模式? 例如,我们都知道我们可以对Ruby字符串执行以下操作: str = "my string" str2 = "This is #{str}" # => "This is my string" 我想对正则表达式做同样的事情: var = "Value" str = "a test Value" str.gsub( /#{var}/, 'foo' ) # => "a test foo" 显然,这不能按所列方式工作,我仅将其作为示例说明我想做什么。我需要根据变量内容的值进行正则表达式匹配。
105 ruby  regex 

10
为什么sed无法将\ t识别为标签?
sed "s/\(.*\)/\t\1/" $filename > $sedTmpFile && mv $sedTmpFile $filename 我期望此sed脚本tab在每行之前插入一个,$filename但不是。由于某种原因,它t改为插入一个。
105 regex  bash  sed 

6
正则表达式正好n次或m次
请看下面的正则表达式,这里X是任何正则表达式。 X{n}|X{m} 该正则表达式将测试确切X发生的时间或时间。 nm 是否有一个正则表达式量词可以测试的发生X恰好n或m次?
105 java  php  regex 

6
正则表达式匹配多行文本块
与跨多行的文本进行匹配时,让Python正则表达式无法正常工作有点麻烦。示例文本为(“ \ n”是换行符) some Varying TEXT\n \n DSJFKDAFJKDAFJDSAKFJADSFLKDLAFKDSAF\n [more of the above, ending with a newline]\n [yep, there is a variable number of lines here]\n \n (repeat the above a few hundred times). 我想捕获两件事:“ some_Varying_TEXT”部分,以及一次捕获中位于其下方两行的所有大写文本行(我以后可以去除换行符)。我尝试了几种方法: re.compile(r"^>(\w+)$$([.$]+)^$", re.MULTILINE) # try to capture both parts re.compile(r"(^[^>][\w\s]+)$", re.MULTILINE|re.DOTALL) # just textlines 并有很多变化,没有运气。最后一个似乎与文本行一一对应,这不是我真正想要的。我可以抓住第一部分,没问题,但是我似乎无法抓住4-5行的大写文本。我希望match.group(1)是some_Varying_Text,而group(2)是line1 + …
105 python  regex  multiline 

12
如何在JavaScript中找到一个字符串在另一个字符串中所有出现的索引?
我试图在不区分大小写的另一个字符串中查找一个字符串所有出现的位置。 例如,给定字符串: 我学会了在黎巴嫩玩四弦琴。 和搜索字符串le,我想获取数组: [2, 25, 27, 33] 这两个字符串都是变量-即,我无法对它们的值进行硬编码。 我认为对于正则表达式来说这是一件容易的事,但是经过一段时间的努力找到一个可行的表达式后,我却没有运气。 我找到了使用来完成此操作的示例.indexOf(),但是肯定有一种更简洁的方法可以做到这一点吗?

5
Java Regex线程安全吗?
我有一个函数,该函数使用Pattern#compile和Matcher来在字符串列表中搜索模式。 此函数用于多个线程。每个线程将在Pattern#compile创建线程时传递给的唯一模式。线程和模式的数量是动态的,这意味着我可以Pattern在配置期间添加更多s和线程。 synchronize如果使用正则表达式,是否需要在此函数上放一个?Java线程中的正则表达式安全吗?

2
什么是上下文无关语法?
有人可以向我解释什么是上下文无关的语法吗?在查看了Wikipedia条目,然后查看了有关正式语法的Wikipedia条目之后,我完全被迷住了。有人会乐于解释这些东西吗? 我想知道这一点是因为我希望研究解析以及正则表达式引擎的局限性。 我不确定这些术语是否与编程直接相关,或者它们是否与语言学总体上更相关。抱歉,如果这样的话,也许可以动议吗?

13
如何计算一列字符串的每一行中给定字符的出现次数?
我有一个data.frame,其中某些变量包含文本字符串。我希望计算每个字符串中给定字符出现的次数。 例: q.data<-data.frame(number=1:3, string=c("greatgreat", "magic", "not")) 我希望为q.data创建一个新列,其中出现字符串的数量为“ a”(即c(2,1,0))。 我管理的唯一复杂方法是​​: string.counter<-function(strings, pattern){ counts<-NULL for(i in 1:length(strings)){ counts[i]<-length(attr(gregexpr(pattern,strings[i])[[1]], "match.length")[attr(gregexpr(pattern,strings[i])[[1]], "match.length")>0]) } return(counts) } string.counter(strings=q.data$string, pattern="a") number string number.of.a 1 1 greatgreat 2 2 2 magic 1 3 3 not 0
103 regex  r  dataframe 

5
正则表达式在grep中预示``不跟随''
我正在尝试对所有Ui\.不跟随Line字母甚至字母的情况进行grepL 编写正则表达式以查找特定字符串的所有实例(而不是其他字符串)的正确方法是什么? 提前使用 grep "Ui\.(?!L)" * bash: !L: event not found grep "Ui\.(?!(Line))" * nothing

4
sed错误:“'s'命令的RHS上的无效引用\ 1”
我运行一些替换命令作为maven的colorize脚本的核心。其中的sed命令,使用正则表达式,在shell工作发现这里讨论。当前(无效)的实现可以在此处找到。 当我在脚本中包含命令的一种变体时,会发生不同的行为: 变体1: $ sed -re "s/([a-zA-Z0-9./\\ :-]+)/\1/g" 适应脚本: -re "s/WARNING: ([a-zA-Z0-9./\\ :-]+)/${warn}WARNING: \1${c_end}/g" \ 错误: shell输出的信息与我键入相同$ sed。奇怪!? 形式2: $ sed -e "s/\([a-zA-Z0-9./\\ :-]\+\)/\1/g" 适应脚本: -e "s/WARNING: \([a-zA-Z0-9./\\ :-]\+\)/${warn}WARNING: \1${c_end}/g" \ 错误: sed:-e表达式#7,字符59:`s命令的RHS上无效的引用\ 1
103 regex  sed  substitution 

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.