2016-11-14 45 views
2

我有一个字符串作为[@variable] -eq“某个值”“一些价值”字符串当量[@variable],我想使用正则表达式来拆呢。拆分使用正则表达式与特殊字符

预期输出是如下

  1. [@variable]
  2. 当量
  3. '一些值'

  1. '一些值'
  2. -eq
  3. [@variable]

我有使用正则表达式\ W + | '[\ W \ S] *'匹配和拆分字符串,但它给了我下面的输出

  1. 可变
  2. 当量
  3. 一些值

其中igno用字符串res特殊字符。

任何人都可以帮助我吗?

编辑

通过lbrahim答案是工作的大部分场景,但是当值日期时间失败。

[@variable] -eq 'MM/DD/YYYY'

上述表达式也应为相同的

+2

拆分在非单词字符之前存在的空格。 '\ s +(?= \ W)' –

回答

2

工作试试:

\[?\@?\-?\w+\]?|\'[\w\s\/]*\' 

Demo

或者这个:

-\w+|\[\V*\]|\'\V*\' 

Demo

+0

@lbrahim谢谢你的回答。它工作正常,但现在有另一种情况下,我的字符串为[@variable] -eq'某个值',其中值为'11/15/2016'的日期。所以上面的正则表达式失败[@variable] -eq'MM/dd/yyyy' – User5590

+0

@ User5590不客气。我更新了我的代码以包含诸如'11/15/2016'之类的内容。 – Ibrahim

+0

@lbrahim非常感谢,它按预期工作。 – User5590