У меня есть регулярное выражение JavaScript, которое в основном находит двухбуквенные слова. Проблема состоит в том, что она интерпретирует акцентированные символы как границы слов. Действительно, кажется, чтоКак я могу сделать регулярное выражение, которое учитывает акцентированные символы?
слово граница («\ Ь») является точкой между двумя символами, что имеет «\ ш» на одной стороне его и «\ W» на вкладке другой (в любом порядке), , считая мнимые символы с началом и концом строки, как , соответствующей «\ W». AS3 RegExp to match words with boundry type characters in them
И так
\ ш соответствует любому алфавитно-цифровой символ (символы слов), включая подчеркивание (сокращенно [A-Za-z0-9_]). \ W соответствует любому несловообразующим символов (сокращенно [^ A-Za-z0-9_]) http://www.javascriptkit.com/javatutors/redev2.shtml
явно акцентированные символы не учитываются. Это становится проблемой со словами типа Montréal
. Если é
считается границей слов, то al
является двухбуквенным словом. Я попытался сделать собственное определение границы слова, которое позволило бы использовать акцентированные символы, но, увидев, что граница слова не является даже символом, я точно не знаю, как это найти.
Любой Помогите?
Вот соответствующий код JavaScript, который ищет и находит userInput
из двух букв слова, используя re_state
регулярное выражение:
var re_state = new RegExp("\\b([a-z]{2})[,]?\\b", "mi");
var match_state = re_state.exec(userInput);
document.getElementById("state").value = (match_state)?match_state[1]:"";
Это ничего не меняет ... – Shawn
Да, атрибут типа даже не в HTML5, как это ISN 't поддерживается браузерами, это ошибка, которую люди произвели при интерпретации спецификации. Метатег charset работает, но кодировка в ссылках не является реальной вещью. –
@Rich Bradshaw: У меня есть в моей голове. Это то, что вы имели ввиду? – Shawn