回答編集履歴

2

間違い修正

2016/10/27 04:18

投稿

ikedas
ikedas

スコア4337

test CHANGED
@@ -37,7 +37,7 @@
37
37
 
38
38
  - ここで`(?:`...`)`と`*?`は拡張仕様ですので、環境によっては使えません。
39
39
 
40
- ところで、<xxx>要素や「abc」が複数の回数現れる場合は、想定される回数に応じて正規表現を書き換える必要があります。また、任意の回数に対応できる正規表現は**ありません**。正規表現の性質上、不可能なのです。
40
+ ところで、<xxx>要素が複数の回数現れる場合は、想定される回数に応じて正規表現を書き換える必要があります。また、任意の回数に対応できる正規表現は**ありません**。正規表現の性質上、不可能なのです。
41
41
 
42
42
  ---
43
43
 

1

typo\.

2016/10/27 04:17

投稿

ikedas
ikedas

スコア4337

test CHANGED
@@ -43,7 +43,7 @@
43
43
 
44
44
  いつも思うんですが、「○○する正規表現を教えて下さい」って質問して来られる方って、正規表現を、ねらったものを一発でみつけてくれる魔法の道具だと思ってませんか。
45
45
 
46
- 実際には、思った通りのテキストにマッチさせるのは難しいどころか、思いがけないものにマッチしてしまいまうことも多いです。というか、そういう「副作用」を起こさない表現を書くほうが難しいです。また、ちょっと複雑なことをさせようとすると正規表現のほうがそれに輪をかけて複雑になって、何をやってるのかわからなくなります。ある程度以上複雑なテキスト処理には、使ってはいけないものだと思います。
46
+ 実際には、思った通りのテキストにマッチさせるのは難しいどころか、思いがけないものにマッチしてしまうことも多いです。というか、そういう「副作用」を起こさない表現を書くほうが難しいです。また、ちょっと複雑なことをさせようとすると正規表現のほうがそれに輪をかけて複雑になって、何をやってるのかわからなくなります。ある程度以上複雑なテキスト処理には、使ってはいけないものだと思います。
47
47
 
48
48
  HTMLの解析をしたければ、HTMLパーサのライブラリ (DOMやSAXなどを使うもの) やトランスフォーマのライブラリ (XSLTなど) を使うほうが、ずっといいです。
49
49