Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/scala/16.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Regex 带死锁2的Playframework:模式正则表达式不匹配_Regex_Scala_Playframework 2.3_Deadbolt 2 - Fatal编程技术网

Regex 带死锁2的Playframework:模式正则表达式不匹配

Regex 带死锁2的Playframework:模式正则表达式不匹配,regex,scala,playframework-2.3,deadbolt-2,Regex,Scala,Playframework 2.3,Deadbolt 2,我正在使用Deadbolt2和play framework 2.3.x。当我试图使用正则表达式通过declare deadbolt模式访问控制器时。我发现未找到错误,在我们的应用程序中,可以使用带有模式的正则表达式。但是当我声明正则表达式时,我不能使用它。我的代码如下所示: def pattern_one = Pattern("CH{4,}", PatternType.REGEX, new MyDeadboltHandler) {} // NOT ACCESSED def pattern_o

我正在使用
Deadbolt2
play framework 2.3.x
。当我试图使用正则表达式通过declare deadbolt
模式访问控制器时。我发现
未找到
错误,在我们的应用程序中,可以使用带有
模式的正则表达式。但是当我声明正则表达式时,我不能使用它。我的代码如下所示:

def pattern_one = Pattern("CH{4,}", PatternType.REGEX, new MyDeadboltHandler) {} // NOT ACCESSED 

def pattern_one = Pattern("CH*", PatternType.REGEX, new MyDeadboltHandler) {  // NOT ACCESSED

def pattern_one = Pattern("CHANNEL", PatternType.REGEX, new MyDeadboltHandler) { // ACCESSED SUCCESSFULLY

如果您想在
CH
之后获得某些内容(不仅仅是
H
s),则需要使用
CH.
CH.{4,}
表示任何字符,就像在任何其他正则表达式中一样。

如果您想要在
CH
之后添加内容(不仅仅是
H
s),则需要使用
CH.
CH.{4,}
表示任何字符,就像在任何其他正则表达式中一样。

正则表达式不是通配符。如果
*
通配符与任何字符匹配任意次数,在正则表达式中,您需要使用
*
,其中
表示除换行符以外的任何字符,
*
表示0次或更多次

此外,如果要匹配以
CH
开头的字符串中包含单词的整个字符串,可以使用单词边界
\\b
\\bCH.


如果要指定字符串必须以
CH
开头并匹配整个字符串,可以使用
^CH.*

正则表达式不是通配符。如果
*
通配符与任何字符匹配任意次数,在正则表达式中,您需要使用
*
,其中
表示除换行符以外的任何字符,
*
表示0次或更多次

此外,如果要匹配以
CH
开头的字符串中包含单词的整个字符串,可以使用单词边界
\\b
\\bCH.


如果要指定字符串必须以
CH
开头并匹配整个字符串,可以使用
^CH.

您是指类似
CH.{4,}
CH.
的模式吗?(注意我表达式中的额外
)为什么要匹配类似
chhhh
的内容?您正在处理一个化学应用程序吗?它可能是正则表达式
CH.{4,}
CH.
中缺少的
?@GáborBakos它只是为示例应用程序创建的,为了测试正则表达式如何与死锁一起工作,我确信它们的工作方式与其他程序类似。我试图表达的是:不清楚你想要实现什么。@Gregoraýman这是我的工作。我的
CH.*
CH.{4,}
运行成功。但是我仍然不明白,为什么我们需要正则表达式
?你是说像
CH.{4,}
CH.
这样的模式吗?(注意我表达式中的额外
)为什么要匹配类似
chhhh
的内容?您正在处理一个化学应用程序吗?它可能是正则表达式
CH.{4,}
CH.
中缺少的
?@GáborBakos它只是为示例应用程序创建的,为了测试正则表达式如何与死锁一起工作,我确信它们的工作方式与其他程序类似。我试图表达的是:不清楚你想要实现什么。@Gregoraýman这是我的工作。我的
CH.*
CH.{4,}
运行成功。但我仍然不明白,为什么我们需要正则表达式
?这个答案已经由@Gregor Raýman在上面的评论中给出了。这个答案已经由我在上面的评论中给出:“
CH.{4,}
CH.
?(注意我表达式中额外的
”(这是更详细的一点。)抱歉,Gábor Bakos,这是我的错误。@Gregor Raýman在上面的评论中已经给出了这个答案。我在上面的评论中已经给出了这个答案:“
CH.{4,}
CH.
?(注意我表达中额外的
。”(这更详细一点)对不起,Gábor Bakos,这是我的错