用于确定字母数字代码是否在范围内的正则表达式

时间:2015-10-27 14:42:26

标签: javascript regex icd

我正在研究ICD10诊断代码应用程序。我需要确定一个ICD10代码是否落在某个范围内。例如:

代码: 4A1H7EZ

范围: 4A1H7CZ - 4A1H7HZ

这应该返回' True '。

我尝试将字母字符转换为数字(a = 0,b = 1等),但结果数字与其他范围/代码冲突。

正则表达式不是我的强项,任何建议都会受到赞赏。

3 个答案:

答案 0 :(得分:2)

你必须使用正则表达式吗? 如comparing 2 strings alphabetically for sorting purposes中所示 javascript auto比较字符串。

因此"4A1H7EZ" > "4A1H7CZ" && "4A1H7EZ" < "4A1H7HZ"将返回true

答案 1 :(得分:1)

David在Javascript中有正确的答案。

但是,“ICD10诊断代码应用程序”可能使用数据库;鉴于此,你应该用SQL解决这个问题,在这种情况下,这将是微不足道的。

这样的查询将返回与给定代码匹配的任何范围:

select * from ranges where diag_code between range_start and range_end

答案 2 :(得分:0)

您应该使用循环并逐个比较每个索引。有这样的事情:

for entry, index in code:
  if entry.isNumeric:
      if range[index] < entry and rang2[index] > entry:
         return false

  else
      if compareAlpha(range[index], entry) > 1 and compareAlpha(range2[index], entry ) < 0:
         return false
return true

(未经测试)