繁体   English   中英

正则表达式中的任何字符(包括换行符)模式是什么?

[英]What is any character (including new line) pattern in regex?

正则表达式是否具有匹配任何字符的模式,包括正则表达式中的换行符? dot模式匹配任何字符,但不包括换行符,(目前,我使用[^~]因为~字符很少使用)。

编辑:我正在使用带有C#语言的regex

使用#C ,您可以使用RegexOptions.Singleline编译器标志。

使用单行模式,其中 ( . ) 匹配每个字符(而不是除\\n之外的每个字符)

而不是 RegexOptions.Singleline 编译器标志,您可以通过在正则表达式的开头放置一个内联修饰符来获得相同的效果。

Regex.Match(input, @"(?s)foo.*bar");

perl中 :使用s修饰符。

将字符串视为单行。 也就是说,改变“。” 匹配任何字符,甚至是换行符,通常它不匹配。

http://perldoc.perl.org/perlre.html

例:

#!/usr/bin/env perl

$_ = "Word1Word2Word3Word4\nEuropeWorld";

if ( m/Word4.Europe/s ) {
    print "yes\n";
    }

我不熟悉 C#,但我确信正则表达式在任何地方都一样。

.*<\/code>匹配任何字符,对,除了\\n<\/code> 。 一个简单的方法是通过使用捕获组来超越它: (.|\\n)*<\/code> ; (.|\\n|\\r)*<\/code> ,或者您可以使用[\\s\\S]<\/code>来超越此限制,其中\\s<\/code>是任何空格,而\\S<\/code>是任何非空格。 我相信某些语言[^]<\/code>也可以,但不了解 C#。 基本上它说不匹配任何东西,所以它会匹配任何东西。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM