Вы не можете сериализовать static
классы (или любой класс вообще) с использованием встроенных функций сериализации .NET. Вы можете сериализовать экземпляры классов.
Если вы хотите сопоставить все, что начинается с «stop», включая «stop going», «stop» и «stopping» использовать:
^ stop
Если вы хотите совместить слово word , за которым следует что-либо, как в «остановке», «остановите это», но не «остановитесь», а не «остановите» использование:
^ stop \ W
Если вы хотите совместить только строки, начинающиеся с остановки, используйте
^ stop
Если вы хотите сопоставить строки, начинающиеся со слова stop, а затем пробел
^ stop \ s
Или, если вы хотите сопоставить строки, начинающиеся со слова stop, а затем пробел или любой другой, (возможно использование вашего аромата регулярного выражения)
^ stop \ W
С другой стороны, то, что следует, соответствует слову в начале (в этих ароматах \ w совпадает с \ W)
^ \ w
Если ваш аромат не имеет \ w shortcut, вы можете использовать
^ [a-zA-Z0-9] +
Будьте осторожны, что эта вторая идиома будет соответствовать только буквам и номерами, никакими символами.
Проверьте руководство по аромату регулярного выражения, чтобы узнать, какие ярлыки разрешены, и что именно они соответствуют (и как они относятся к Unicode.)
Если вы хотите, чтобы слово начиналось с «stop», вы можете использовать следующий шаблон. "^ stop. *"
Это будет соответствовать словам, начинающимся с остановки, за которым следует что-либо.
code
Строка строка = «остановлена»; r = Pattern.compile (pattern);
Matcher m = r.matcher (строка);
System.out.println (m.find ()); // выводит true
System.out.println (line.matches (pattern)); // выводит false
– Manisha Chaurasia
4 December 2017 в 06:58
/ stop ([a-zA-Z]) + /
Будет соответствовать любому стоп-слову (остановка, остановка, остановка и т. д.)
Однако, если вы просто хотите совместить «стоп» в начале строки
/ ^ stop /
, выполните: D
Попробуйте следующее:
/ ^ stop. * $ /
Объяснение:
Если вы хотите обеспечить соблюдение за которым следует пробел, вы можете изменить RegEx следующим образом:
/ ^ stop \ s +. * $ /
Примечание. Также имейте в виду, что RegEx выше требует, чтобы за стоповым словом пробежало пространство! Поэтому он не будет соответствовать строке, содержащей только: stop
Я бы посоветовал использовать простой подход с регулярным выражением к этой проблеме. Слишком много слов, которые являются подстроками других несвязанных слов, и вы, вероятно, будете сумасшедшими, пытаясь переопределить более простые решения, уже предоставленные.
Вам понадобится хотя бы наивный алгоритм генерации (попробуйте Porter stemmer, есть доступный бесплатный код на большинстве языков) для обработки текста в первую очередь. Сохраните этот обработанный текст и предварительно обработанный текст в двух отдельных массивах с пространственным разделением. Убедитесь, что каждый не-алфавитный символ также получает свой собственный индекс в этом массиве. Какой бы ни был список слов, которые вы фильтруете, также используйте их.
Следующим шагом будет поиск индексов массива, которые соответствуют вашему списку слов «остановить». Удалите те из необработанного массива, а затем присоединитесь к пробелам.
Это немного сложнее, но будет гораздо более надежным подходом. Если у вас есть сомнения относительно ценности более ориентированного на NLP подхода, вам может потребоваться некоторое исследование ошибок clbuttic .
Как @SharadHolani сказал. Это не будет соответствовать каждому слову, начинающемуся с «stop»
. Только в начале строки, такой как «stop going». @Waxo дал правильный ответ:
Это немного немного лучше, если вы хотите совместить любое слово, начинающееся с «stop» и содержащее только буквы из A до Z .
\ bstop [a-zA-Z] * \ b
Это будет соответствовать всем
stop (1)
stop random (2)
stopping (3)
хочет остановиться (4)
остановитесь (5)
blockquote>Но
/ ^ stop [a-zA-Z] * /
будет соответствовать только (1) до (3), но не (4) & amp; (5)