0

リンクを検証するための質問がすでにあることは知っています。しかし、私は正規表現が非常に苦手で、ユーザー入力 (html) が次の URL と同等であることを検証する方法がわかりません。

http://www.domain.com/?p=123456abcde

また

http://www.domain.com/doc/123456abcde

こんな感じかな

/^(http://)(www)((\.[A-Z0-9][A-Z0-9_-]*).com/?p=((\.[A-Z0-9][A-Z0-9_-]*)

正規表現または 2 つの URL が必要です。ありがとう

4

3 に答える 3

2

これは正規表現の仕事ではなく、選択した言語の既存のツールの仕事かもしれません。 正規表現は、たまたま文字列が関係するすべての問題に手を振る魔法の杖ではありません。おそらく、既に作成、テスト、およびデバッグされた既存のコードを使用したいと思うでしょう。

PHP では、parse_url関数を使用します。

Perl:URIモジュール.

ルビー:URIモジュール.

.NET: 'Uri' クラス

于 2013-08-22T15:55:01.770 に答える
1

これは両方の文字列に一致します。

(http:\/\/)?(www\.)?([A-Z0-9a-z][A-Z0-9a-z_-]*).com\/(\?p=)?([A-Z0-9a-z][\/A-Za-z0-9_-]*)

正規表現チェッカーを使用することを強くお勧めします。(ほぼ) すべての OS に対応するものを見つけることができ、 http://regexpal.com/http://www.quanetic.com/Regexなどのオンラインのものもあります。

于 2013-08-22T15:34:01.500 に答える