相关疑难解决方法(0)

参考 - 这个正则表达式意味着什么?

这是什么?

这是常见问答的集合.这也是社区Wiki,因此每个人都被邀请参与维护.

为什么是这样?

患的是给我泽码型的问题和答案不佳,没有解释.此参考旨在提供质量问答的链接.

范围是什么?

此引用适用于以下语言:,,,,,,.

这可能过于宽泛,但这些语言共享相同的语法.对于特定功能,它背后的语言标签,例如:

  • 什么是正则表达式平衡组?

regex

52
推荐指数
1
解决办法
11万
查看次数

为什么/如何将重复的任意性格与捕获组匹配需要一个附加变量?

我使用perl6正则表达式匹配长度最小的重复任意字符序列。

阅读完https://docs.perl6.org/language/regexes#Capture_numbers并调整给出的示例后,我使用“外部变量”提出了以下代码:

#uses an additional variable $c
perl6 -e '$_="bbaaaaawer"; /((.){} :my $c=$0; ($c)**2..*)/ && print $0';

#Output:  aaaaa
Run Code Online (Sandbox Code Playgroud)

为了帮助说明我的问题,在perl5中使用了类似的正则表达式:

#No additional variable needed
perl -e ' $_="bbaaaaawer"; /((.)\2{2,})/ && print $1';
Run Code Online (Sandbox Code Playgroud)

有人可以启发我“储蓄” $0$c空缺的需求/好处{}吗?是否有匹配的替代(更好/类似)的perl6正则表达式?

提前致谢。

regex perl6

11
推荐指数
2
解决办法
280
查看次数

Java regexto匹配元组

我需要从字符串中提取元组

例如 (1,1,A)(2,1,B)(1,1,C)(1,1,D)

并认为一些正则表达式:

String tupleRegex = "(\\(\\d,\\d,\\w\\))*";
Run Code Online (Sandbox Code Playgroud)

会工作,但它只是给了我第一个元组.什么是正确的正则表达式来匹配字符串中的所有元组.

java regex string tuples

4
推荐指数
1
解决办法
810
查看次数

Python re.finditer match.groups()不包含匹配的所有组

我试图在Python中使用正则表达式来查找和打印多行搜索中的所有匹配行.我正在搜索的文本可能具有以下示例结构:

AAA
ABC1
ABC2
ABC3
AAA
ABC1
ABC2
ABC3
ABC4
ABC
AAA
ABC1
AAA

从中我想要检索至少出现一次并且前面有AAAABC*.

问题是,尽管该团体抓住了我想要的东西:

match = <_sre.SRE_Match object; span=(19, 38), match='AAA\nABC2\nABC3\nABC4\n'>
Run Code Online (Sandbox Code Playgroud)

...我只能访问该组的最后一场比赛:

match groups = ('AAA\n', 'ABC4\n')
Run Code Online (Sandbox Code Playgroud)

下面是我用于此问题的示例代码.

#! python
import sys
import re
import os

string = "AAA\nABC1\nABC2\nABC3\nAAA\nABC1\nABC2\nABC3\nABC4\nABC\nAAA\nABC1\nAAA\n"
print(string)

p_MATCHES = []
p_MATCHES.append( (re.compile('(AAA\n)(ABC[0-9]\n){1,}')) ) #   
matches = re.finditer(p_MATCHES[0],string)

for match in matches:
    strout = ''
    gr_iter=0
    print("match = "+str(match))
    print("match groups = "+str(match.groups()))
    for group in match.groups():
    gr_iter+=1
    sys.stdout.write("TEST GROUP:"+str(gr_iter)+"\t"+group) # test …
Run Code Online (Sandbox Code Playgroud)

python regex

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

java正则表达式删除重复的单词

我正在解决一个问题,从字符串中删除重复的单词.例如,

输入: Goodbye bye bye world world world

输出: Goodbye bye world

我有一个来自在线资源的工作模式,但我无法理解其中的所有内容.

    String pattern = "\\b(\\w+)(\\b\\W+\\b\\1\\b)*";
Run Code Online (Sandbox Code Playgroud)

这是我的理解:

  1. 最初\\b是匹配单词bounaries
  2. (\\w+) 匹配一个或多个字符
  3. 在这个表达式中: (\\b\\W+\\b\\1\\b)*

    一个.\\b匹配单词边界

    \\W+匹配一个或多个非单词字符

    C.\\b再次匹配一个单词bounary

    d.\\1??? 我不知道这是为了什么,但如果没有这个,它就无法运作

    C.\\b再次匹配一个单词bounary

正如你所看到的,我的主要困惑是关于第3项,尤其是\\1.有谁能更清楚地解释一下?

java regex

0
推荐指数
1
解决办法
3432
查看次数

标签 统计

regex ×5

java ×2

perl6 ×1

python ×1

string ×1

tuples ×1