2012-02-03 4 views
0

Я пытаюсь получить регулярное выражение для:Regex для # и текст между # и конечные пробелы

  • Получить «#» и весь текст между «#» и след заканчивающегося «\ т» (пробельные).

До сих пор у меня есть:

/#[a-zA-Z0-9]\t/ 

Это кажется неправильным? Что я могу сделать, чтобы исправить это?

ответ

1

Если пропусками вы имеете в виду фактическое пустое пространство (то есть пробелы, вкладки и т.д.), то это делает его:

/#\S+/ 

(\S эквивалентно [^\s])

Если вы однако имел в виду tabs, когда вы написали пробел, то это:

/#[^\t]+/ 
+0

'\ S' предназначен для пробелов? и что делает «+»? Мне все еще нужно, чтобы все между ними было хорошо. – Anicho

+0

Нет, '\ s' для пробелов,' \ S' для ** всех, кроме ** пробелов. И '+' означает один или несколько раз. Итак, короче говоря, регулярное выражение говорит: «Ищите« # », за которым следует один или несколько символов, которые не являются пробелами/вкладками (в зависимости от регулярного выражения выше)». И, очевидно, он перестанет собираться, когда встретится с символом, который не соответствует критериям (критерии здесь: не символ пробела/табуляции). – Regexident

+0

I <3 вы! спасибо @Regexident – Anicho

Смежные вопросы