作者ousapas (waliliadai)
看板RegExp
标题Re: [问题] (?:^|[^\\])的意思为何?
时间Thu Sep 6 01:36:37 2012
※ 引述《kilva (嗡嗡)》之铭言:
: 程式语言为JavaScript,完整的正规运算式为
: /^\s+|((?:^|[^\\])(?:\\.)*)\s+$/g
: 我个人猜测是和
: /^\s+|(^(?:\\.)*)\s+$|([^\\](?:\\.)*)\s+$/g
: 一样意思,即
: /^\s+/g(前端数个空白)
: 或
: /(^(?:\\.)*)\s+$/g(前头零个以上脱逸字元後接数个空白)
: 或
: /([^\\](?:\\.)*)\s+$/g(後端有零个以上脱逸字元後接数个完白)
: 第一次看到^後直接接|的正规运算式,请问各位这样的想法是否正确。
: 谢谢。
1. ^\s+
开头 + 1个以上空白
OR
2.
(1) (^|[^\\])
(开头 or 非\字元) *1
(2) (\\.)*
(\ + 1个任意字元) *0~n
(3) \s+$
1个以上空白直到结尾
--
※ 发信站: 批踢踢实业坊(ptt.cc)
◆ From: 118.161.144.158
1F:→ Rplus:所以2.(1)的 ^| 是什麽开头? 09/06 04:50
2F:→ ousapas:^ Matches the beginning of a line or string. 09/06 05:09
3F:→ ousapas:$ Matches the end of a line or string. 09/06 05:09
4F:→ blackkaku: (^|[^\\])也可以写成[^\\^]吧。 09/06 10:13
5F:推 l10nel:不可以 09/06 17:29
6F:→ blackkaku:请问为何不可以? 09/06 20:30
7F:推 l10nel:[^...] 表示任何非...的字元,这和 | 前的 ^ 明显不同义。 09/07 05:17
8F:→ l10nel:再说, ^不会消耗字元,只是抓取定点,[...]会消耗一个字元。 09/07 05:20
9F:→ Rplus:] 09/07 05:34
10F:推 blackkaku:了解了 感谢! 09/07 23:20
11F:→ DingWeizhe:这一整句应该是在抓字串里的跳脱字元吧? 09/10 01:38
12F:→ DingWeizhe:2-1前面的^ 搭上2.2的(?:\\.)* 如果是以\x 开头的 或者 09/10 01:44
13F:→ DingWeizhe:2.1後面的[^\\]加上(?:\\.)* 不是\\x这种形式的 09/10 01:46