0

私は正規表現でいくつかのことを試みていました、そして私は次のことをどのように行うのか疑問に思いました:受け入れる:

http://google.com
https://google.com
http://google.com/
https://google.com/
http://google.com/*
https://google.com/*
http://*.google.com
https://*.google.com
http://*.google.com/
https://*.google.com/
http://*.google.com/*
https://*.google.com/*

サブドメインワイルドカードには[az][AZ][0-9]のみを含めることができ、オプションですが、必須の後にドットが存在する場合。

私はここまで来ました:

https?://(www.)google.com/

しかし、これは正しい働き方ではないと思います...そしてwwwだけです。使用可能です。誰かが私に必要な結果を与えてくれることを願っています、そしてそれがそのように機能する理由を説明します。

ありがとう、

デニス

4

3 に答える 3

6

私はこれがあなたが求めているものかもしれないと思います:

https?://([a-zA-Z0-9]+\.)?google\.com(/.*)?

このサイトは、正規表現の検証に役立ちます。.*これはあなたが望むものと一致しているように見えますが、文字通り何にでも一致するので、最後の部分についてより具体的にしたいと思うかもしれません。

于 2013-01-16T13:52:11.620 に答える
3
http(s)?://([a-zA-Z0-9]+\.)?google\.com(/.*)? 

[これはrmhartogの答えであり、私には正しいように見えます]質問で尋ねられた理由を拡張したいと思います。OPは前の人の答えを拡張しているだけなので、私の答えを受け入れないでください。

http - This must be an exact match
(s)? - ? is zero or one time
://  - This must be an exact match
(    - start of a group
[a-zA-Z0-9] - Defines a character class that allows any of these characters in it.
+    - one or more of these characters must be present, empty set is invalid.
\.   - escapes the dot character (usually . is a wildcard in regex)
)?   - end of the group and the group can appear 0 or one time
google - This must be an exact match
\.   - escapes the dot character (usually . is a wildcard in regex)
com  - This must be an exact match
(    - start of a group
/    - This must be an exact match
.*   - matches any character 0 or more times (this fits anything you can type)
)?   - end of the group and the group can appear 0 or one time

これが上記の答えを説明するのに役立つことを願っています。コメントとしてこれをすべて収めることは困難でした。

于 2013-01-16T14:01:52.583 に答える
0

POSIX EREとして:

https?://(\*|([a-zA-Z0-9]+)\.)?google.com

この(\*|([a-zA-Z0-9]+)\.)部分は、a*または英数字の文字列があり、その後にドットが続くことを示しています。これはオプションなので、疑問符が続きます。

[a-zA-Z0-9]範囲をPOSIX文字クラスに置き換えることもできます[[:alnum:]]

https?://(\*|([[:alnum:]]+)\.)?google.com
于 2013-01-16T13:57:41.613 に答える