Да, вы можете использовать регулярное выражение для сопоставления строк, содержащих "else", очень легко. Выражение очень простое:
\belse\b
\b
в любом конце выражения указывает «границу слова», что означает, что выражение будет соответствовать только целому слову else
и не будет совпадать, если else
является частью другого слова. Однако обратите внимание, что границы слов не переходят в знаки пунктуации, что полезно, если вы разбираете предложения, как здесь.
Следовательно, выражение \belse\b
будет соответствовать этим предложениям:
- Бла-бла, еще бла
- еще бла-бла-бла
- бла-бла-бла, еще
- бла-бла-бла, еще.
// note the full stop
... но не этот ...
Вы не говорите, на каком языке вы кодируете, но вот небольшой пример на C #, использующий класс System.Text.RegularExpressions.Regex и написанный как тест NUnit:
[Test]
public void regexTest()
{
// This test passes
String test1 = "This is a sentence which contains the word else";
String test2 = "This is a sentence which does not";
String test3 = "Blah blah else blah blah";
String test4 = "This is a sentence which contains the word else.";
Regex regex = new Regex("\\belse\\b");
Assert.True(regex.IsMatch(test1));
Assert.False(regex.IsMatch(test2));
Assert.True(regex.IsMatch(test3));
Assert.True(regex.IsMatch(test4));
}