PHP `preg_match'in` uyumlu regex için herhangi bir regex ™ € ~ â € convertâ nasıl?

0 Cevap php

Tamam, bu aptalca bir soru olabilir, ama normal ifadeler için oldukça yeni ve dürüstçe bunu nasıl hiçbir fikrim yok.

Ben bir regex PHP'nin preg_match() ya da çalışacak olmadığını anlatmak için nasıl bilmiyorum.

Örneğin, the following regex PHP'nin preg_match() ile kullanmak istiyorum.

\b
# Match the leading part (proto://hostname, or just hostname)
(
    # ftp://, http://, or https:// leading part
    (ftp|https?)://[-\w]+(\.\w[-\w]*)+
  |
    # or, try to find a hostname with our more specific sub-expression
    (?i: [a-z0-9] (?:[-a-z0-9]*[a-z0-9])? \. )+ # sub domains
    # Now ending .com, etc. For these, require lowercase
    (?-i: com\b
        | edu\b
        | biz\b
        | gov\b
        | in(?:t|fo)\b # .int or .info
        | mil\b
        | net\b
        | org\b
        | [a-z][a-z]\b # two-letter country codes
    )
)

# Allow an optional port number
( : \d+ )?

# The rest of the URL is optional, and begins with / . . . 
(
     /
     # The rest are heuristics for what seems to work well
     [^.!,?;"'<>()\[\]{}\s\x7F-\xFF]*
     (?:
        [.!,?]+  [^.!,?;"'<>()\[\]{}\s\x7F-\xFF]+
     )*
)?

preg_match($regex, $url); doesn’t work when the above regex is used as-is. Why not? What are the steps to take here to ‘convert’ it so that it will work?

Burada sağlayan kulüpler regex sadece bir örnek olduğunu unutmayın; I any onun preg_match-uyumlu eşdeğer regex dönüştürmek öğrenmek isterim.

Şimdiden teşekkürler!

P.S. I’m asking because I’m collecting and comparing different URL regexes on this test page: http://mathiasbynens.be/demo/url-regex İnsanlar beni başka dillerde Regexes gönderme tutmak, ve ben onları çalışması için nasıl bilmiyorum: (

0 Cevap