0

クリップボードを読みたいのですが、URLの場合は何かをしてください。問題はURLですか?次のように仕事をしません:

url? to-url "any string" will return true

これは正常ですか?次に、必要な検出を行うにはどうすればよいですか?

4

2 に答える 2

2

to-urlは、文字列をURLのREBOLデータ型にします。

必要なのは、文字列がURLのルールに準拠しているかどうかを検出することです。現実の世界では多くの文字列がURLになる可能性があるため、これは簡単でもばかげた証拠でもありません。例:

より一般的なケース(たとえば、 http://https://などで始まるケース)をキャプチャする場合は、 parseの使用を検討してください。

このスクリプトはほとんど仕事をします: リンクテキスト

欠落しているのは、いくつかの文字セット定義です(コードは、他の場所から急いでカットアンドペーストされたに違いないと思います)。

alpha: charset [#"a" -  #"z" #"A" - #"Z"]
digits: charset [#"0" - #"9"]
alphadigit: union alpha digits

...そしてそれを使用する方法の例:あなたがそれをuri.rとしてローカルに保存したと仮定します:

url-parse: do %uri.r
parse "http://sss" parse-url/url
== true
parse "sss" parse-url/url
== false
于 2009-09-07T20:58:52.413 に答える
2

次を使用できます。

url? load "any://string"`

また

url? attempt [load "any string"]

REBOLのURLの定義を使用します。

于 2009-09-18T01:07:32.357 に答える