javascript - 字符串查询可以更简洁的表达吗?
问题描述
是否有可能(可能使用 RegExp 或其他东西)用更少的代码执行以下操作?
var bTest = szNextEntity[0] == '<' && szNextEntity[1] != '/'
因此,如果 szNextEntity 的第零个字符 == '<'且第一个字符 != '/' ,则 bTest 为真
我对如何简洁感兴趣。
谢谢。
解决方案
您可以使用一点正则表达式来测试字符串。但总的来说,使用正则表达式解析 HTML 是个坏主意。
甚至 Jon Skeet 也无法使用正则表达式解析 HTML。每次您尝试使用正则表达式解析 HTML 时,邪恶的孩子都会流着处女的血,而俄罗斯黑客会破解您的 web 应用程序。用正则表达式解析 HTML 会将受污染的灵魂召唤到生活的领域。HTML 和正则表达式结合在一起,就像爱情、婚姻和仪式杀婴一样。
var re = /^<[^\/]/;
var str1 = '</end tag>';
var str2 = '<start tag>';
console.log(re.test(str1));
console.log(re.test(str2));
推荐阅读
- r - R terra - 将数组分配给不包含所有单元格值的 SpatRaster 对象的最有效方法
- javascript - 如何在 React js 中设置地图项的样式
- kubernetes - 版本“compute.cnrm.cloud.google.com/v1beta1”中类型“ComputeAddress”没有匹配项
- javascript - 使用 Redux、Jest 和 react-testing-library 进行反应测试
- vuejs2 - vue js get函数不起作用但post正在工作
- javascript - eslint 警告 循环中声明的函数包含对 forEach 循环中变量 no-loop-func 的不安全引用
- python - 基于离散分布将整数拆分为一组整数(整数)的python库/函数
- pandas - 熊猫中的条件列
- postgresql - 如何在 Postgresql 中删除非英文字符
- node.js - 如何使用现有钱包签署使用节点 JS 脚本运行的 solana 交易?