使用正则表达式替换多个值

Replace multiple values using regex

本文关键字:替换 正则表达式      更新时间:2023-09-26

我有一个多维JSON数据集,需要替换多个值,以便我可以将我的应用程序加载到web上进行一些故障排除。这些值需要替换,因为它们是可能识别个人受保护医疗信息的私人记录。我在正则表达式方面很糟糕,而且还没有能够有效地做到这一点。我们需要的是替换()中描述的以下字段:

<>之前PROV_NAME (Drlastname001, Drfirstname001 with #部分递增)PAT_NAME (Patlname0001, Patfname0001 with #部分递增)PERS_ID, MRN, ENC_ID, FIN, ORD_ID(每个随机#)HOME_PHONE, CELL_PHONE(随机ph #)ct_prsnl (Stflastn0001, Stffirstn0001 with #部分递增)之前

下面是一个带有手动替换信息的JSON数据集示例。我的真实数据集对于大多数数组[]都有多个项。我试图在Sublime Text中做到这一点,但我又一次在regex上表现糟糕。我怎样才能快速完成?PHP, JavaScript,在Sublime Text?

{
"TICKLER_ORDERED": {
    "PROVIDER": [
        {
            "PROV_NAME": "Drlastname001, Drfirstname001",
            "PERSON": [
                {
                    "PERS_ID": 234213423,
                    "PAT_NAME": "Patlname0001 , Patfname0001",
                    "MRN": "45246",
                    "HOME_PHONE": "984-435-5673",
                    "CELL_PHONE": "745-547-6544",
                    "OLDEST_ORDER": "/Date(2012-01-03T13:34:28.000-04:00)/",
                    "ENCOUNTERS": [
                        {
                            "ENC_ID": 8854774,
                            "FIN": "78787457",
                            "ORDERS": [
                                {
                                    "ORD_ID": 23423413,
                                    "ORD_NAME": "MA Digital Diagnostic Mammo-Bil/CAD",
                                    "ORD_TYPE": "Radiology",
                                    "ORD_STATUS": "Canceled",
                                    "ORD_PRIORITY": "Routine",
                                    "ORD_DATE": "01/03/2012 13:34",
                                    "DUE_DATE": "01/06/2012 13:00",
                                    "COMMENTS": [
                                        {
                                            "CMT_DISP": "This is a test",
                                            "SEQUENCE": "1",
                                            "CMT_DTTM": "02/04/13 11:40",
                                            "CMT_PRSNL": "Stflastn , Stffirstn"
                                        },
                                        {
                                            "CMT_DISP": "This isn't a test",
                                            "SEQUENCE": "2",
                                            "CMT_DTTM": "02/04/13 11:42",
                                            "CMT_PRSNL": "Stflastn0001 , Stffirstn0001"
                                        }
                                    ]
                                },
                                {
                                    "ORD_ID": 123234235,
                                    "ORD_NAME": "US Breast Bilateral",
                                    "ORD_TYPE": "Radiology",
                                    "ORD_STATUS": "Canceled",
                                    "ORD_PRIORITY": "Routine",
                                    "ORD_DATE": "01/03/2012 13:34",
                                    "DUE_DATE": "01/06/2012 14:20",
                                    "COMMENTS": []
                                }
                            ]
                        }
                    ]
                }
            ]
        }
    ]
}

}

PHP为迭代JSON数据数组提供了很好的工具。正如adeneo所建议的,json_decode和json_encode可以让您分别将数据从JSON转换为PHP多维数组,然后再转换回JSON。一旦您将数据放入PHP数组中,遍历该数组并使用您对其结构的了解,简单的正则表达式(例如'/[0-9]{3}$/')和计数器变量来适当地增加索引。

  • 编辑6/2/13标点符号。