javascript - 用于验证字数小于 100 的正则表达式
问题描述
我需要编写一个可以验证文本区域的正则表达式,这样用户就不能在多行中输入超过 100 个单词。我尝试过这样的事情
^(?:\b\w+\b[\s\r\n]*){0,100}$
解决方案
您可以使用
^\s*(?:\S+(?:\s+\S+){0,99}\s*)?$
如果必须至少存在一个单词,则删除外部(?:
/)?
可选的非捕获分组结构:
^\s*\S+(?:\s+\S+){0,99}\s*$
细节:
^
- 字符串的开始\s*
- 0 个或多个空格\S+
- 1 个或多个非空格(?:\s+\S+){0,99}
- 0 到 99 次重复 1 个或多个空格,后跟 1 个或多个非空格\s*
- 0 个或多个空格$
- 字符串结束。
要仅计算由单词字符组成的单词,请将每个替换\s
为\W
并且每个\S
替换为\w
。
推荐阅读
- python - 数学方程的 Numpy 矢量化
- kubernetes - Snakemake 与 Kubernetes 的集成是否糟糕,或者 Kubernetes 与生物信息学工作的匹配度真的很差,或者我错过了什么,或者?
- php - 从一页上的两个帖子列表中删除重复条目
- node.js - 如何推送交易EOS区块链(eosjs - unsatisfied_authorization)?
- python - 这个透明的扩展是如何在 lineplot 中绘制的?
- multithreading - 捕获每一帧以识别文本 ARcore - 我需要使用信号量吗?
- arduino - Arduino UNO、GRBL、OpenCncPilot、最大速度/速度、最大加速度,用于激光切割
- flutter - 在颤动中从自定义油漆中删除白色背景
- r - 测试 R 中两条生存曲线是否不同
- c - '{' 标记(结构)之前的错误预期表达式