Что такое регулярное выражение Ruby для соответствия строке, по крайней мере, с одним периодом и без пробелов? - PullRequest
5 голосов
/ 12 октября 2010

Какое регулярное выражение соответствует строке, по крайней мере, с одним периодом и без пробелов?

Ответы [ 4 ]

17 голосов
/ 12 октября 2010

Вы можете использовать это:

/^\S*\.\S*$/

Это работает так:

^    <-- Starts with
  \S   <-- Any character but white spaces (notice the upper case) (same as [^ \t\r\n])
  *    <-- Repeated but not mandatory
  \.   <--  A period
  \S   <-- Any character but white spaces
  *    <-- Repeated but not mandatory
$    <-- Ends here

Вы можете заменить \S на [^ ], чтобы работать строго с пробелами (не с табуляциейи др.)

2 голосов
/ 12 октября 2010

регулярное выражение не нужно.Сохраняйте это простым

>> s="test.txt"
=> "test.txt"
>> s["."] and s.count(" ")<1
=> true
>> s="test with spaces.txt"
=> "test with spaces.txt"
>> s["."] and s.count(" ")<1
=> false
2 голосов
/ 12 октября 2010

Что-то вроде

 ^[^ ]*\.[^ ]*$

(соответствует любым непробелам, затем периоду, затем еще нескольким непробелам)

0 голосов
/ 12 октября 2010

Попробуйте это:

/^\S*\.\S*$/
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...