标签: metacharacters

.gitignore的扩展正则表达式(ERE)

有没有办法在.gitignore文件中使用扩展正则表达式(ERE)?例如,我想+.gitignore文件中使用重复字符.有没有办法做到这一点?

regex git gitignore metacharacters

34
推荐指数
2
解决办法
2万
查看次数

Python:filename包含String(metachar?)

我正在使用os.walk(目录)递归显示该目录中的所有文件.问题是我只需要在其名称中显示包含问题字符串的文件,并且还必须管理元字符.

我现在拥有的是:

for root, subdirs, files in os.walk(dir1):
        for filename in files:
            if substring in filename:
                name_path = os.path.join(root,filename)
                list.insert(END, name_path)
Run Code Online (Sandbox Code Playgroud)

这很好用,但如果 substring = *因为我没有包含'*'的文件,我的列表是空的.

那么,如果substring包含METACHAR ,我该如何使其工作?

python contains metacharacters

7
推荐指数
1
解决办法
3万
查看次数

如何为字母,元音和辅音等德语字符类编写正则表达式?

例如,我设置了这些:

L = /[a-z,A-Z,ßäüöÄÖÜ]/
V = /[äöüÄÖÜaeiouAEIOU]/
K = /[ßb-zBZ&&[^#{V}]]/
Run Code Online (Sandbox Code Playgroud)

这样/(#{K}#{V}{2})/匹配"ßäÜ""azAZßäÜ".

有没有更好的方法来处理它们?

我可以将这些常量放在我的Ruby安装文件夹中某个文件的模块中,所以我可以在我在计算机上写的任何新脚本中包含/要求它们吗?(我是新手,我知道我弄糊涂这个术语;请纠正我.)

此外,我可以只获得元字符\L,\V\K(或者在Ruby中没有设置的任何东西)在正则表达式中代表它们,所以我不必一直做那个字符串插值的东西吗?

ruby regex customization character-class metacharacters

6
推荐指数
1
解决办法
233
查看次数

是否有一种简单的方法可以在Python正则表达式中使用和忽略元字符?

有没有办法在编译正则表达式时切换编译或使用元字符?当前代码如下所示:


当前代码:

import re

the_value  = '192.168.1.1'
the_regex  = re.compile(the_value)

my_collection = ['192a168b1c1', '192.168.1.1']

my_collection.find_matching(the_regex)

result = ['192a168b1c1', '192.168.1.1']
Run Code Online (Sandbox Code Playgroud)


理想的解决方案如下:

import re

the_value  = '192.168.1.1'
the_regex  = re.compile(the_value, use_metacharacters=False)

my_collection = ['192a168b1c1', '192.168.1.1']

my_collection.find_matching(the_regex)

result = ['192.168.1.1']
Run Code Online (Sandbox Code Playgroud)

理想的解决方案是让re库处理元字符的禁用,以避免必须尽可能多地参与进程.

python regex metacharacters

6
推荐指数
2
解决办法
157
查看次数

R中的strsplit具有元字符

我有大量的数据,其中分隔符是反斜杠.我在R中处理它并且我很难找到如何拆分字符串,因为反斜杠是一个元字符.例如,字符串看起来像这样:

1128\0019\XA5\E2R\366\00=15
Run Code Online (Sandbox Code Playgroud)

我想沿着\角色分割它,但是当我运行strsplit命令时:

strsplit(tempStr, "\\")
Error in strsplit(tempStr, "\\") : 
  invalid regular expression '\', reason 'Trailing backslash'
Run Code Online (Sandbox Code Playgroud)

当我尝试使用"修复"选项时,它不会运行,因为它在反斜杠之后需要一些东西:

strsplit(tempStr, "\", fixed = TRUE)
Run Code Online (Sandbox Code Playgroud)

不幸的是,我无法使用其他程序预处理数据,因为数据是每天生成的.

string split r strsplit metacharacters

5
推荐指数
1
解决办法
6363
查看次数

如何在perl中匹配包含特殊字符的精确3次出现的字符串

我尝试了一些方法来匹配一个包含3次斜线但却无法工作的单词.以下是示例

@array = qw( abc/ab1/abc/abc a2/b1/c3/d4/ee w/5/a  s/t )
foreach my $string (@array){
    if ( $string =~ /^\/{3}/ ){
          print " yes, word with 3 / found !\n";
          print "$string\n";
    }
    else {
          print " no word contain 3 / found\n";
    }
Run Code Online (Sandbox Code Playgroud)

很少有macthing我尝试但没有一个工作

$string =~ /^\/{3}/;
$string =~ /^(\w+\/\w+\/\w+\/\w+)/;
$string =~ /^(.*\/.*\/.*\/.*)/;
Run Code Online (Sandbox Code Playgroud)

任何其他方式我可以匹配这种类型的字符串并打印字符串?

regex perl metacharacters

3
推荐指数
1
解决办法
437
查看次数

R正则表达式:括号不作为元字符

我试图通过组"%in%"和字符"@"拆分字符串.所有文档和我能找到的所有内容都表明括号是用于在R regex中进行分组的元字符.所以代码

    > strsplit('example%in%aa(bbb)aa@cdef', '[(%in%)@]', perl=TRUE)
Run Code Online (Sandbox Code Playgroud)

应该给我

    [[1]]
    [1] "example" "aa(bbb)aa"      "cdef"
Run Code Online (Sandbox Code Playgroud)

也就是说,它应该将括号留在"aa(bbb)aa"中,因为匹配表达式中的括号不会被转义.但相反它实际上给了我

    [[1]]
    [1] "example" ""   ""    ""    "aa"    "bbb"   "aa"    "cdef"
Run Code Online (Sandbox Code Playgroud)

好像括号不是元字符!这是怎么回事?我该如何解决?谢谢!

在strsplit中有和没有参数perl = TRUE都是如此.

regex r metacharacters

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

转义Python中的所有元字符

我需要搜索可能包含许多元字符的模式。目前,我使用长正则表达式。

prodObjMatcher=re.compile(r"""^(?P<nodeName>[\w\/\:\[\]\<\>\@\$]+)""", re.S|re.M|re.I|re.X)
Run Code Online (Sandbox Code Playgroud)

(我的实际模式很长,因此我只粘贴了一些需要帮助的相关部分)

当我需要在一次重新编译中编写此类模式的组合时,这尤其痛苦。

有没有缩短样式长度的有效方法?

python regex metacharacters

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

Perl - 用正则表达式替换metacharcters

我在使用正则表达式替换元字符时遇到问题.我希望正则表达式替换元字符的短语是:

ley+sobre+propiedad+literaria+1847
Run Code Online (Sandbox Code Playgroud)

我使用的代码如下:

$file =~ s/\+/\s/; # --> Replace the +

但它似乎只取代了第一个元字符,结果是:

leysobre+propiedad+literaria+1847
Run Code Online (Sandbox Code Playgroud)

我用什么?

regex perl file metacharacters

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

Java中的正则表达式:*

你知道为什么在一个简单的正则表达式模式中如果放一个*(量词)它与匹配器中的任何结果都不匹配,即使它实际上包含了字符a; (在任何情况下,它应该返回找到一个空字符串的结果,因为我正在使用" ").它适用于其他字符,例如r*和b*没有问题.我知道如果内容放在引号或括号之间,它就有效.("a*").虽然只是好奇地知道为什么它可以用b*没有引号而不用*没有引号.

码:

Pattern pat = Pattern.compile(args[0]);
        Matcher match = pat.matcher(args[1]);
while (match.find())
        {
            System.out.println("Indeed this the information I need:"+ match.group());

            System.out.println("Here it starts:"+match.start());
}       
Run Code Online (Sandbox Code Playgroud)

我知道'a'是一个元字符,但'e'和'f'是和它们一起正常工作.

我作为输入插入:命令行中的args [0] = a*args [1] = abba.

任何的想法?提前致谢.

java regex metacharacters

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

perl元字符的混淆

当我运行以下程序时,它没有给我任何结果("").
情景1: -

$var = "A STITCH IN TIME SAVES NINE";
       if ($var =~ /[1..9]/i) {
         print "FOUND\n"
      }
Run Code Online (Sandbox Code Playgroud)

但是当我在'..'运算符之前和之后添加空格时,它会抛出"Found and is"作为结果.

情景: - 2

 $var = "A STITCH IN TIME SAVES NINE";
           if ($var =~ /[1 .. 9]/i) {
             print "FOUND\n"
          }
Run Code Online (Sandbox Code Playgroud)

谁能解释一下这里发生了什么?

perl metacharacters

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

Perl,模式匹配和元字符

我试图匹配两个都满足元字符的东西,需要在我的匹配模式中用作'Literal'. \Q假设在字符串中引用所有元字符直到\E...但它不起作用.

那是怎么回事?

这是给我带来麻烦的一条线: if (/\Q$prev\E/ !~ /\Q$ww[0]\E/) {

perl metacharacters

-1
推荐指数
1
解决办法
222
查看次数