我需要正则表达式来过滤字符串以符合以下条件:
- 字符串总长度不能超过300个字符。
- 字符串不能包含超过 4 个主题标签。
- 该字符串不能包含超过 1 个 URL。
- 字符串不能全部由大写字母组成。
示例有效文本:
Developers trust #StackOverflow to help solve #coding problems and use Stack Overflow Careers to find job opportunities. Please visit https://stackoverflow.com/
示例无效文本:
Developers trust #StackOverflow to help solve #coding problems and use Stack Overflow Careers to find job opportunities. Please visit https://stackoverflow.com/ or https://stackoverflow.com/company/about
上面的字符串无效,因为包含两个 URL。
任何帮助将不胜感激,非常感谢:)
最佳答案
我认为this会帮助你
^(?!^([^#]*#[^#]*){5,}$)(?!(.*http(s{0,1}):\/\/){2,})(?=.*[a-z]).{0,300}$
(?!^([^#]*#[^#]*){5,}$)
这将确保字符串不应包含超过 4 #(?!(.*http(s{0,1}):\/\/){2,})
这将确保字符串不应包含超过 2 个 url<(?=.*[a-z])
这将确保字符串至少包含 1 个小写字母.{0,300}
这将确保字符串不应包含超过 300 个字符
关于用于过滤字符串的 Javascript 正则表达式,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38966872/