|
|
|
| Доброго времени суток!
Подскажите решение проблемы:
есть 2 регулярных выражения
1)(?<=<title>).*(?=</title>)
Вытаскивает содержимое title полностью. Можно ли как-то вытащить по словам (для C# MatchCollection)?
<title>Это тайтл</title>
Результат:
Это
тайтл
2)\b*[а-я]*[а-я]
Вытаскивает все русские слова
Как исключить из поиска содержание title? Т.е. исключить результат регекса 1. | |
|
|
|
|
|
|
|
для: TTN
(13.03.2011 в 19:59)
| | 1) А нельзя результат просто разбить по пробелу? Нужно именно одно регулярное выражение?
2) Скорее всего придется вырезать при помощи первого выражения строку, а результат помещать во временную переменную с которой и работать во втором случае. | |
|
|
|
|
|
|
|
для: cheops
(13.03.2011 в 20:04)
| | 1) Это точно можно. Мне интересно - можно ли в одном регексе.
2)Не очень удачный вариант, cлова из тайтла повторяются ниже. Можно вырезать первые n match'ей, где n-количество слов тайтла. Но как-то топорно это и не надежно). Все же в регексе было бы удобнее) | |
|
|
|
|
|
|
|
для: TTN
(13.03.2011 в 20:12)
| | 2) Почему, достаточно надежно, тэги <title></title> в HTML-документах не встречаются более одного раза, а регулярное выражение вам другие слова резать не даст, только те, которые обрамлены <title></title>.
PS Собственно можно извернуться, но регулярные выражения будут сложные и допустить в них ошибку будет проще, да и медленее будет работать чем простая обвязка на универсальном языке программирования. | |
|
|
|