正则表达式匹配括在方括号或双引号中的字符串

Cli*_*ote 2 java regex

我需要2个简单的reg exps:

  1. 如果字符串包含在方括号内,则匹配([]例如[word])
  2. 如果字符串包含在双引号内,则匹配(""例如"word")

Pet*_*ton 13

\[\w+\]

"\w+"
Run Code Online (Sandbox Code Playgroud)


说明:

\ [和\]转义特殊括号字符以匹配其文字.

\ w表示"任何单词字符",通常被认为与字母数字或下划线相同.

+表示前一项中的一个或多个.

"是文字字符.


注意:如果要确保整个字符串匹配(不仅仅是其中的一部分),请使用前缀^和后缀$.


下次,你应该能够通过阅读regular-expressions.info自己回答这个问题

更新:

好的,所以基于你的评论,你似乎想知道的是第一个字符是[和最后一个]还是第一个和最后一个都是"?
如果是这样,它们将匹配那些:

^\[.*\]$    (or ^\\[.*\\]$ in a Java String)

"^.*$"
Run Code Online (Sandbox Code Playgroud)

但是,除非您需要对中心字符进行一些特殊检查,否则只需执行以下操作:

if ( MyString.startsWith("[") && MyString.endsWith("]") )
Run Code Online (Sandbox Code Playgroud)

if ( MyString.startsWith("\"") && MyString.endsWith("\"") )
Run Code Online (Sandbox Code Playgroud)

我怀疑它会比正则表达式更快.