标签: regex-group

正则表达式 - 组值替换

我不确定这是否可行,但我需要一种方法来替换我的regex表达式中指定的编号组的值,使用在运行时动态声明的字符串,一旦匹配完成.

鉴于一个简单的案例,像......

(/)?([A-Za-z0-9])?(/)?$
Run Code Online (Sandbox Code Playgroud)

我希望能够为第2组插入替代品.

我目前正在使用Java的Matcher类.

java regex regex-group

2
推荐指数
1
解决办法
6013
查看次数

Ruby正则表达式组存储在一个变量中?

我有这个正则表达式的问题它似乎没有抓住标题(在最后''之后的所有内容.)我已经在多个来源上测试了正则表达式,他们似乎都抓住了正确的分组.扫描功能是我做错了吗?

##### data.csv file #####
## Web_Sites.Shopping.Newegg,...
## Web_Sites.Shopping.Newegg_Secure,...
## Web_Sites.Shopping.O'Reilly_Books,...
## Web_Sites.Shopping.PackageTrackr,...
#####

## Grab the title from the list
regex = '([\w_-]+)$'

## Open the CSV File
data_file = CSV.open("data.csv", "r")

## Set the file we will append the data.
my_file = File.new("titles.csv", 'a')

## For each line in the data file, get the correct title
data_file.each do |data|
   note = data[0]
   title = note.scan(regex)
   my_file.print "#{note} : #{title}"
end
Run Code Online (Sandbox Code Playgroud)

谢谢你,
LF4

ruby regex csv regex-group

2
推荐指数
1
解决办法
3538
查看次数

获取正则表达式中匹配的组的索引?

我有一个正则表达式:

/(alpha)|(beta)|(gamma)/gi
Run Code Online (Sandbox Code Playgroud)

一些要匹配的文字:

Betamax. Digamma. Alphabet. Hebetation.
Run Code Online (Sandbox Code Playgroud)

比赛是:

beta, gamma, alpha, beta
Run Code Online (Sandbox Code Playgroud)

我正在寻找的价值观是:

1,2,0,1
Run Code Online (Sandbox Code Playgroud)

...我可以确定在正则表达式中匹配的组的索引吗?

javascript regex indexing match regex-group

2
推荐指数
1
解决办法
143
查看次数

捕获以分号分隔的字符串的组缺少最后一个组

我的输入字符串是

String input=" 4313 :F:7222;scott miles:F:7639;Henry Gile:G:3721";
Run Code Online (Sandbox Code Playgroud)

它是一个带分号分隔符的字符串.它可以包含由分号分隔的任意数量的值

我想在java中使用组捕获功能并捕获以下值(即:分隔)

         4313 :F:7222
         scott miles:F:7639
         Henry Gile:G:3721
Run Code Online (Sandbox Code Playgroud)

我知道我可以在Spring类下使用split函数但是出于某种原因我想在这里使用组捕获.

我试过了

Matcher myMatcher = Pattern.compile("(.*?);").matcher(input);
while (myMatcher.find()) {
    System.out.println("group is " + myMatcher.group());
}
Run Code Online (Sandbox Code Playgroud)

输出是

group is  4313 :F:7222;
group is scott miles:F:7639;
Run Code Online (Sandbox Code Playgroud)

但预期的产出是

group is  4313 :F:7222
group is scott miles:F:7639
group is Henry Gile:G:3721
Run Code Online (Sandbox Code Playgroud)

我没有得到如何捕获最后一个分号后的最后一个值,我也想摆脱分号,正如我在预期的结果中提到的那样.

java regex regex-group

2
推荐指数
1
解决办法
150
查看次数

golang如何用正则表达式组替换字符串?

我想使用正则表达式组替换字符串golang,如下所示python:

re.sub(r"(\d.*?)[a-z]+(\d.*?)", r"\1 \2", "123abc123") # python code
Run Code Online (Sandbox Code Playgroud)

那么如何在golang中实现呢?

regex go regex-group

2
推荐指数
1
解决办法
4433
查看次数

从 Google 电子表格中的单元格中提取多个值(如果存在)

使用 Google re2 https://github.com/google/re2/blob/master/doc/syntax.txt

从几行像

  1. 我爱摇滚
  2. 我爱摇滚和剪刀
  3. 我讨厌纸
  4. 我喜欢石头、纸和剪刀
  5. 我会爱自己

我想从每一行中提取“岩石”、“纸”和“剪刀”。我希望正则表达式匹配以上所有五行,并在找到某些东西的地方给我石头、纸和剪刀。我主要在 Google 表格中使用它,但任何 Google re2 正则表达式都应该有所帮助。

我试过了:

".*(([Rock]{0,4})).*"

".*(([Rock]{4})|([Rock]{0})).*"

=REGEXEXTRACT(A2,".*(Rock{0,2}).*(paper{0,2}).*(scissors{0,2}).*")

以及从任何行获取 Rock 的多个其他组合(如果存在)......但是,它总是更喜欢零而不是四个......即使它找到 Rock ,它也会返回空字符串。如果我用 {1} 替换 {0},即使找到了完整的 Rock,我也会得到“k”。

有任何想法吗?

regex google-sheets regex-group google-sheets-formula

2
推荐指数
1
解决办法
3336
查看次数

Perl:($ num)和$ num之间的差异

有人可以向我解释为什么这是差异:

my $num = '>33*1311875297587*eval*0*frame[0]*"A"<' =~ /(\d{3,})/;
> $num = 1
my ($num) = '>33*1311875297587*eval*0*frame[0]*"A"<' =~ /(\d{3,})/;
> $num = 1311875297587
Run Code Online (Sandbox Code Playgroud)

我很好奇看到有什么恶作剧在等我.

谢谢

regex perl regex-group

2
推荐指数
1
解决办法
155
查看次数

正则表达式接受最少6个字符,至少一个字母和至少一个以下字符:0123456789 - .@ _

我想要一个正则表达式接受:

  1. 最少6个字符
  2. 至少一封信
  3. 至少下列之一: 0123456789-.@_

我试过了 :

 ^(?=.*[A-Za-z])(?=.*\d)(?=.*[._@-])[A-Za-z\d._@-]{1,40}$ 
Run Code Online (Sandbox Code Playgroud)

javascript regex html5 regex-group

2
推荐指数
1
解决办法
51
查看次数

如何编写用于日期格式验证的正则表达式?

我写了如下的正则表达式:

/^(\d{4}\-\d\d\-\d\d)|(\d{4}\-\d\d\-\d\d([tT][\d:\.]*){1})([zZ]|([+\-])(\d\d):?(\d\d))?$/.test("1995-01-01")
Run Code Online (Sandbox Code Playgroud)

它工作正常,但是即使我输入了错误的格式也返回true作为值,请参考以下屏幕截图:

tt

javascript regex regex-group

2
推荐指数
1
解决办法
51
查看次数

如何从abc **** ef ****之类的字段中选择?

我有一个包含以下字段的表:

t:([]id:til 5; field:("abc_xy_ef";"abc_ef";"abc_de";"abc_xy_uv";"abc_ef_ghi"))

id field       
---------------
0  "abc_xy_ef" 
1  "abc_ef"    
2  "abc_de"    
3  "abc_xy_uv" 
4  "abc_ef_ghi"
Run Code Online (Sandbox Code Playgroud)

我只想选择字段遵循模式的行,"abc_[anything]_ef[anything]"以使结果表为:

id field       
---------------
0  "abc_xy_ef" 
1  "abc_ef"    
4  "abc_ef_ghi"
Run Code Online (Sandbox Code Playgroud)

regex regex-group kdb

2
推荐指数
1
解决办法
155
查看次数