java - 这个正则表达式匹配什么?

标签 java regex

我遇到了这个表达式,想弄清楚正则表达式会匹配什么?

new Text(Arrays.toString(parts).replaceAll("^\\[|\\]$", "")

我用了Xeger生成一些字符串,但它可能没有显示正确的字符串,因为它一直只生成 2 个字符串 ^[ 和 ]$

最佳答案

您的正则表达式所做的是匹配起始 [ 和结束 ]

Working demo

enter image description here

Regular expression visualization

Debuggex Demo

来自 regex101 的解释:

1st Alternative: ^\[
    ^ assert position at start of a line
    \[ matches the character [ literally
2nd Alternative: \]$
    \] matches the character ] literally
    $ assert position at end of a line

所以,这段代码:

"[sdfsad sdfsd]asdfas]".replaceAll("^\\[|\\]$", "")

将删除开始和结束的 [ ],结果字符串将是:

sdfsad sdfsd]asdfas

关于java - 这个正则表达式匹配什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25839344/

相关文章:

java - 如何通过 java 检索附件列表 JIRA rest api?

regex - 正则表达式: Pick shortest match from among many matches

java - 正则表达式从插入查询中提取值

Javascript 正则表达式匹配文本中的所有 & 字符,忽略编码,如 ) 等

java - 没有代理就无法解决 Maven 依赖关系

java - 分支预测: Does avoiding "else" branch for simple operations makes code faster (Java example)?

java - GPay InAppSubscription SetSku详​​情

java - Java-11 Spring-boot部署到Google Cloud错误:应用程序不满足[java11]的要求

ruby - 正则表达式匹配未转义的引号

c# - 您如何编写匹配除第一次出现以外的所有内容的正则表达式?