1

我正在制作一个正则表达式来匹配列 = 'value'中的所有值,主要是在 sql 的 where 子句中,值可以是从字母数字到特殊字符、空格、'、= 等。这是我到目前为止所拥有的。

SQL:

select count(*) from t_cusUser where AccountID = ' !@#$%^&()+{}?|.'_' and column = '3' and column = '~!@#$%^&-_+{}|'./?Polite'

正则表达式:

(?<=\=)\s?N?\'([\w\'-\s\&{}#\$\^()\@\~\%\|/.`*\~!+ \?"]+)\'

结果:

  1. '`!@#$%^&()+{}?|.'_'
  2. '3'
  3. '`~!@#$%^&-_+{}|'./?礼貌'

它工作正常,但如果我放一个=字符,就会出现问题。

正则表达式:(添加 = 字符)

(?<=\=)\s?N?\'([\w\'-\s\&{}#\$\^()\@\~\%\|/.`*\~!+ \?" = ]+)\'

结果:

  1. ' !@#$%^&*()+{}?|.'_' and column = '3' and column = '~!@#$%^&*-_+{}|'./?礼貌'
4

1 回答 1

1

尝试这个。

((?<=\=)\s*N?[a-zA-Z0-9.!?#$=@&%'^+|_~-/()*{}`]+)'

于 2013-04-08T10:17:00.953 回答