Мне нужно определить, есть ли в строке такие символы, как ┼, ▓, ┐, ╔, ╠, ═, ╩, � и т. д. Существует ли регулярное выражение для поиска таких символов?
По сути, строка может содержать английские буквы, латинские буквы, цифры, знаки препинания, но не какой-либо неизвестный символ.
В настоящее время я использую это [^\u0020-\u007E\u00A0-\u00FF]+ Но это также соответствует этому - QLF feat. АРГЬОУ, МЕРА И НЕМО. Этот текст подходит, поскольку евро — это символ евро.
«такие символы, как ┼, ▓, ┐, ╔, ╠, ═, ╩, � и т. д.»: что здесь такое и т. д.? Не можете ли вы просто просмотреть диапазоны Юникода, которые хотите включить/исключить?
Что ж, если бы вы могли объяснить свою проблему более понятно, показать свой код и сказать, в чем проблема, мы могли бы быть более полезными.
@WiktorStribiżew Спасибо, ваш первый комментарий был полезен. Это то, что мне было нужно. Наши клиенты жаловались на такие символы. Им нужен был список текстов, в которых были такие символы. Ни один из них на самом деле не имеет полного списка символов.
Если вы пытаетесь сопоставить «символы», которые являются результатом объединения нескольких кодовых точек (например, 👋🏼 или ☺️), вы можете сделать это только с помощью механизма регулярных выражений, который поддерживает \X
для сопоставления логических кластеров графем.
Используя этот конвертер символов Юникода (без привязки), вы можете легко проверить категорию Юникода, к которой принадлежат определенные символы.
Все символы ┼
, ▓
, ┐
, ╔
, ╠
, ═
, ╩
, �
относятся к категории Символ, Другое Юникода.
Вы можете сопоставить их с шаблоном регулярного выражения \p{So}
.
В настоящее время он соответствует 6639 кодовым точкам Юникода, и вы можете использовать следующее регулярное выражение для их сопоставления, если \p{So}
не поддерживается:
[\u00A6\u00A9\u00AE\u00B0\u0482\u058D\u058E\u060E\u060F\u06DE\u06E9\u06FD\u06FE\u07F6\u09FA\u0B70\u0BF3-\u0BF8\u0BFA\u0C7F\u0D4F\u0D79\u0F01-\u0F03\u0F13\u0F15-\u0F17\u0F1A-\u0F1F\u0F34\u0F36\u0F38\u0FBE-\u0FC5\u0FC7-\u0FCC\u0FCE\u0FCF\u0FD5-\u0FD8\u109E\u109F\u1390-\u1399\u166D\u1940\u19DE-\u19FF\u1B61-\u1B6A\u1B74-\u1B7C\u2100\u2101\u2103-\u2106\u2108\u2109\u2114\u2116\u2117\u211E-\u2123\u2125\u2127\u2129\u212E\u213A\u213B\u214A\u214C\u214D\u214F\u218A\u218B\u2195-\u2199\u219C-\u219F\u21A1\u21A2\u21A4\u21A5\u21A7-\u21AD\u21AF-\u21CD\u21D0\u21D1\u21D3\u21D5-\u21F3\u2300-\u2307\u230C-\u231F\u2322-\u2328\u232B-\u237B\u237D-\u239A\u23B4-\u23DB\u23E2-\u2426\u2440-\u244A\u249C-\u24E9\u2500-\u25B6\u25B8-\u25C0\u25C2-\u25F7\u2600-\u266E\u2670-\u2767\u2794-\u27BF\u2800-\u28FF\u2B00-\u2B2F\u2B45\u2B46\u2B4D-\u2B73\u2B76-\u2B95\u2B97-\u2BFF\u2CE5-\u2CEA\u2E50\u2E51\u2E80-\u2E99\u2E9B-\u2EF3\u2F00-\u2FD5\u2FF0-\u2FFF\u3004\u3012\u3013\u3020\u3036\u3037\u303E\u303F\u3190\u3191\u3196-\u319F\u31C0-\u31E3\u31EF\u3200-\u321E\u322A-\u3247\u3250\u3260-\u327F\u328A-\u32B0\u32C0-\u33FF\u4DC0-\u4DFF\uA490-\uA4C6\uA828-\uA82B\uA836\uA837\uA839\uAA77-\uAA79\uFD40-\uFD4F\uFDCF\uFDFD-\uFDFF\uFFE4\uFFE8\uFFED\uFFEE\uFFFC\uFFFD\U00010137-\U0001013F\U00010179-\U00010189\U0001018C-\U0001018E\U00010190-\U0001019C\U000101A0\U000101D0-\U000101FC\U00010877\U00010878\U00010AC8\U0001173F\U00011FD5-\U00011FDC\U00011FE1-\U00011FF1\U00016B3C-\U00016B3F\U00016B45\U0001BC9C\U0001CF50-\U0001CFC3\U0001D000-\U0001D0F5\U0001D100-\U0001D126\U0001D129-\U0001D164\U0001D16A-\U0001D16C\U0001D183\U0001D184\U0001D18C-\U0001D1A9\U0001D1AE-\U0001D1EA\U0001D200-\U0001D241\U0001D245\U0001D300-\U0001D356\U0001D800-\U0001D9FF\U0001DA37-\U0001DA3A\U0001DA6D-\U0001DA74\U0001DA76-\U0001DA83\U0001DA85\U0001DA86\U0001E14F\U0001ECAC\U0001ED2E\U0001F000-\U0001F02B\U0001F030-\U0001F093\U0001F0A0-\U0001F0AE\U0001F0B1-\U0001F0BF\U0001F0C1-\U0001F0CF\U0001F0D1-\U0001F0F5\U0001F10D-\U0001F1AD\U0001F1E6-\U0001F202\U0001F210-\U0001F23B\U0001F240-\U0001F248\U0001F250\U0001F251\U0001F260-\U0001F265\U0001F300-\U0001F3FA\U0001F400-\U0001F6D7\U0001F6DC-\U0001F6EC\U0001F6F0-\U0001F6FC\U0001F700-\U0001F776\U0001F77B-\U0001F7D9\U0001F7E0-\U0001F7EB\U0001F7F0\U0001F800-\U0001F80B\U0001F810-\U0001F847\U0001F850-\U0001F859\U0001F860-\U0001F887\U0001F890-\U0001F8AD\U0001F8B0\U0001F8B1\U0001F900-\U0001FA53\U0001FA60-\U0001FA6D\U0001FA70-\U0001FA7C\U0001FA80-\U0001FA88\U0001FA90-\U0001FABD\U0001FABF-\U0001FAC5\U0001FACE-\U0001FADB\U0001FAE0-\U0001FAE8\U0001FAF0-\U0001FAF8\U0001FB00-\U0001FB92\U0001FB94-\U0001FBCA]
Все эти символы взяты из категории «Символ», «Другое Unicode». Итак,
\p{So}
? Или^\P{So}*$
если вам нужно проверить всю строку?