顯示廣告
隱藏 ✕
※ 本文為 dinos.bbs. 轉寄自 ptt.cc 更新時間: 2012-10-01 14:21:08
看板 RegExp
作者 ousapas (waliliadai)
標題 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
Rplus:所以2.(1)的 ^| 是什麼開頭?1F 09/06 04:50
ousapas:^ Matches the beginning of a line or string.2F 09/06 05:09
ousapas:$ Matches the end of a line or string.
blackkaku: (^|[^\\])也可以寫成[^\\^]吧。4F 09/06 10:13
l10nel:不可以5F 09/06 17:29
blackkaku:請問為何不可以?6F 09/06 20:30
l10nel:[^...] 表示任何非...的字元,這和 | 前的 ^ 明顯不同義。7F 09/07 05:17
l10nel:再說, ^不會消耗字元,只是抓取定點,[...]會消耗一個字元。
Rplus:]9F 09/07 05:34
blackkaku:了解了  感謝!10F 09/07 23:20
DingWeizhe:這一整句應該是在抓字串裡的跳脫字元吧?11F 09/10 01:38
DingWeizhe:2-1前面的^ 搭上2.2的(?:\\.)* 如果是以\x 開頭的 或者
DingWeizhe:2.1後面的[^\\]加上(?:\\.)* 不是\\x這種形式的

--
※ 看板: dinos 文章推薦值: 0 目前人氣: 0 累積人氣: 128 
guest
x)推文 r)回覆 e)編輯 d)刪除 M)收藏 ^x)轉錄 同主題: =)首篇 [)上篇 ])下篇