【发布时间】:2021-02-19 10:38:15
【问题描述】:
我有图片路径之类的
טוסטר.jpeg
טוסטר(243).jpeg
טוסטר_234.jpeg
justImage.jpeg
justImage(2).jpeg
justImage_32.jpeg
justImage-12.jpeg
justImage-טר.jpeg
_asd_טוסטר_234.jpeg
/w/a/טוסטר.jpeg
/w/a/טוסטר_234.jpeg
/w/a/טוסטר(243).jpeg
我需要通过此类数据的验证。在路径中允许图像扩展名(无需验证确切的扩展名)、下划线、点、括号、英文字符、数字。图像可以具有类似 /a/b/someImageName.ext 的路径
我只制作了这个正则表达式,但它只验证一个希伯来字符而不是整个字符串
#[-\w.\\\\/()]+$)|((?:\p{Hebrew}+|\w+)+?)#
这个正则表达式完美地适用于英语和我需要的所有情况,但是当添加希伯来语时效果不佳
#[-\w.\\/()]+$)#
例子
https://regex101.com/r/7bndbF/1
提前谢谢
【问题讨论】:
-
#[-\w.\\/()]+$)#是格式错误的模式,它如何工作?试试preg_match('#[-\w.\\\\/()]+$#uD', $str) -
@WiktorStribiżew 向正则表达式添加了解释它是如何工作的
-
(^(?!.*[\\/]\.{2}[\\/])(?!\.{2}[\\/])[-\w.\\/()]+$)不是#[-\w.\\/()]+$)#,对吧? -
@WiktorStribiżew 对,不知道为什么你会看到,因为我粘贴了这个但没有发布
(^(?!.*[\\/]\.{2}[\\/])(?!\.{2}[\\/])[-\w.\\/()]+$),只有#[-\w.\\/()]+$)# -
好的,
'#^(?!.*[\\\\/]\.{2}[\\\\/])(?!\.{2}[\\\\/])[-\w.\\\\/()]+$#uD'对你有用吗?
标签: php regex character hebrew