Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/regex/20.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 有没有办法将一个正则表达式的值嵌入Scala中的另一个正则表达式中?_Regex_Scala - Fatal编程技术网

Regex 有没有办法将一个正则表达式的值嵌入Scala中的另一个正则表达式中?

Regex 有没有办法将一个正则表达式的值嵌入Scala中的另一个正则表达式中?,regex,scala,Regex,Scala,我有一些正则表达式值需要用作新正则表达式的变量 我想写一些像: val lowers: Regex = "[a-z]”.r val uppers: Regex = "[A-Z]”.r val letters: Regex = “(lowers | uppers)*”.r 但我不知道它的正确语法 如果可能,如何在Scala中实现 编辑 正如注释中所建议的,当regex变量要添加到regex之外时,这也与此相关,这似乎并不能解决这里的问题。您可以使用字符串插值从其他两个字

我有一些正则表达式值需要用作新正则表达式的变量

我想写一些像:

val lowers: Regex = "[a-z]”.r

val uppers: Regex = "[A-Z]”.r

val letters: Regex = “(lowers | uppers)*”.r

但我不知道它的正确语法

如果可能,如何在Scala中实现

编辑


正如注释中所建议的,当regex变量要添加到regex之外时,这也与此相关,这似乎并不能解决这里的问题。

您可以使用字符串插值从其他两个字符串构造regex:

val:Regex=“[a-z]”。r
val uppers:Regex=“[A-Z]”。r
val字母:Regex=s“($lowers |$uppers)*.”
请注意字符串文本首字母
之前的
s
前缀。 输出:

([a-z]|[a-z])*
请注意,您应该注意模式中的空格,默认情况下,空格是有意义的

如果只想使用空格进行格式化,为了便于阅读正则表达式,可以使用
(?x)
(“verbose”,“freespacing”)修饰符:

val字母:Regex=s“(?x)($lowers |$uppers)*.”

请注意,如果要使用此功能,您需要转义模式中的任何文字空白字符(制表符、空格、换行符)。此外,您还必须转义
#
字符,因为它在该模式中变得非常特殊。

val letters:Regex=“[a-Za-z]*“.r
。或者,你的意思是你有一些正则表达式值,需要用作新正则表达式的变量吗?@WiktorStribiżew我指的是后者。要用作新变量的正则表达式值。是否有帮助?是否需要
val字母:regex=s“($lowers |$uppers)*”。r
?看,看