poi*_*oae 1 javascript regex string quotes
我想所有更换:)的:D,除非它们在引号内"
例1:
Hey man :D, how're you? :) My friend told me "this can't be true :)"
Run Code Online (Sandbox Code Playgroud)
变
Hey man :D, how're you? :D My friend told me "this can't be true :)"
Run Code Online (Sandbox Code Playgroud)
如你所见,:)如果它被包围,则不会被替换".如果这种情况不存在,那就很简单吧?我正在使用Javascript(jQuery).
如果使用正则表达式显然不可能,那么另一个建议是什么呢?
假设没有双重报价是不平衡的,这就是适用于您的正则表达式:
:\)(?=(?:(?:[^"]*"){2})*[^"]*$)
Run Code Online (Sandbox Code Playgroud)
说明:此正则表达式使用正向前瞻,它基本上匹配一对的0次或更多次出现,some text until a double quote is found即([^"]*"){2}在每次匹配的右侧(RHS):).
简单来说,这意味着:)只有在双引号之外才能替换它,因为双引号内的所有匹配将[^"]*"在RHS上具有奇数匹配.
| 归档时间: |
|
| 查看次数: |
726 次 |
| 最近记录: |