ocehb: (Default)
[personal profile] ocehb
Есть ряд обозначений, например: DMC df3k Ffgx EZ14 jjk
Нужно из этих выбрать только те что содержат и буквы и цифры.
/[a-z0-9]+/i не подходит.



\b(\w*[a-z][0-9]\w*|\w*[0-9][a-z]\w*)\b
так как [a-z0-9] было писать лень, то ограничился паллиативом \w


# perl -le 'print $1 while ($ARGV[0] =~ m#\b(\w*[a-z][0-9]\w*|\w*[0-9][a-z]\w*)\b#ig);' "DMC df3k Ffgx EZ14 jjk"
df3k
EZ14
# 

Date: 2006-07-31 09:52 am (UTC)
From: [identity profile] jerom.livejournal.com
Не понял, зачем первый \w* почему не:
\b([a-z]+\d\w*|\d+[a-z]\w*)\b

или

Date: 2006-07-31 10:01 am (UTC)
From: [identity profile] jerom.livejournal.com
\b(\w*([a-z]\d|\d[a-z])\w*)\b

Re: еще на байт короче

Date: 2006-07-31 10:29 am (UTC)
From: [identity profile] jerom.livejournal.com
ну от сбора можно избавиться поставив (?:...)

Но при чём тут скорость? :_)

Profile

ocehb: (Default)
ocehb

January 2021

S M T W T F S
     12
345 6789
10111213141516
17181920212223
24252627282930
31      

Most Popular Tags

Style Credit

Expand Cut Tags

No cut tags
Page generated Feb. 6th, 2026 08:12 pm
Powered by Dreamwidth Studios