Java 正则表达式到 groovy
Java regex to groovy
我在 java 中得到了这段代码,它用白色 space 替换了正则表达式:
private static final String SCRUB_REGEX = "[\<\>\\"\'\(\)\\\n\r\f]";
private static final String SCRUB_REPLACEMENT = " ";
String trim = value.replaceAll(SCRUB_REGEX, SCRUB_REPLACEMENT).trim();
我正在尝试在 SoapUI 的 groovy 脚本中使用它,但它似乎实际上并不 trim。 groovy 不识别 java 正则表达式吗?
temp =testStep.getPropertyValue(sorted).replaceAll("[\<\>\\"\'\(\)\\\n\r\f]", " ").trim()
我已经完成导入到导入 java.util.regex。*
没有输入和输出很难说,但有几点评论:
- 在字符 class(括在方括号
[]
中)内的特殊字符不需要转义。您仍然需要对特殊构造使用单个转义符。您可以改用以下模式:
"[<>\"'()\n\r\f]"
- 您可能希望只用一个空格替换多次出现的字符。在这种情况下,添加一个量词,例如:
"[<>\"'()\n\r\f]+"
String.trim
只修剪给定的 String
的开头和结尾空格。中间的任何东西都不会被修剪。如果 String
完全是空白,那么 trim
将 return 一个空 String
.
你不需要import java.util.regex.*
斜杠字符串让事情变得更简单:
String SCRUB_REGEX = /[<>"'()\\n\r\f]/
String SCRUB_REPLACEMENT = ' '
String trim = value.replaceAll(SCRUB_REGEX, SCRUB_REPLACEMENT).trim();
所以这将替换所有:
<
>
"
'
(
)
\
\n
\r
\f
有了space
我在 java 中得到了这段代码,它用白色 space 替换了正则表达式:
private static final String SCRUB_REGEX = "[\<\>\\"\'\(\)\\\n\r\f]";
private static final String SCRUB_REPLACEMENT = " ";
String trim = value.replaceAll(SCRUB_REGEX, SCRUB_REPLACEMENT).trim();
我正在尝试在 SoapUI 的 groovy 脚本中使用它,但它似乎实际上并不 trim。 groovy 不识别 java 正则表达式吗?
temp =testStep.getPropertyValue(sorted).replaceAll("[\<\>\\"\'\(\)\\\n\r\f]", " ").trim()
我已经完成导入到导入 java.util.regex。*
没有输入和输出很难说,但有几点评论:
- 在字符 class(括在方括号
[]
中)内的特殊字符不需要转义。您仍然需要对特殊构造使用单个转义符。您可以改用以下模式:
"[<>\"'()\n\r\f]"
- 您可能希望只用一个空格替换多次出现的字符。在这种情况下,添加一个量词,例如:
"[<>\"'()\n\r\f]+"
String.trim
只修剪给定的String
的开头和结尾空格。中间的任何东西都不会被修剪。如果String
完全是空白,那么trim
将 return 一个空String
.
你不需要import java.util.regex.*
斜杠字符串让事情变得更简单:
String SCRUB_REGEX = /[<>"'()\\n\r\f]/
String SCRUB_REPLACEMENT = ' '
String trim = value.replaceAll(SCRUB_REGEX, SCRUB_REPLACEMENT).trim();
所以这将替换所有:
<
>
"
'
(
)
\
\n
\r
\f
有了space