我尝试$[
文本之间就搞定了。我试图解决与下面的正则表达式这个问题:
$pattern = "(?=\$\[)(.*?)(?=\$\[)"
但它只是越来越直到新生产线的负责人。这是没有得到例如
“在Fonet.Common.DicomNet.DicomAttributeCollection.Load(DicomDataSet DS)”
我怎样才能解决这个问题呢?
$ [WARN] 2019年2月1日九时14分14秒ScheduledProcedureSequence找不到$ [ERROR] 2019年2月1日11时09分02秒对象引用不设置为一个对象的一个实例。 System.NullReferenceException对象引用不设置为一个对象的一个实例。空隙负荷(Leadtools.Dicom.DicomDataSet)System.NullReferenceException:对象不设置为一个对象的一个实例。在Fonet.Common.DicomNet.DicomAttributeCollection.Load(DicomDataSet DS) 在Fonet.Common.DicomNet.DicomAttributeCollection.Load(DicomDataSet DS)$ [ERROR] 2019年2月1日11时09分02秒工作清单例外:对象引用不设置为一个对象的一个实例。 System.NullReferenceException对象引用不设置为一个对象的一个实例。空隙负荷(Leadtools.Dicom.DicomDataSet)System.NullReferenceException:对象不设置为一个对象的一个实例。在Fonet.Common.DicomNet.DicomAttributeCollection.Load(DicomDataSet DS)
点(.
)操作者在正则表达式通常匹配除了行分解任何单个字符。为了匹配这些,你需要添加s
标志,使匹配处理输入的单行。
你可以做到这一点最容易(?s)
。这将设置标志的整个模式,所以如果你在一个更大的图案嵌入它要小心。
$pattern = "(?s)(?=\$\[)(.*?)(?=\$\[)"
此外,使用双方前瞻(qazxsw POI),并使用零或更多的懒惰重复(qazxsw POI)的副作用,它会永远匹配零个字符。你会想改变其中任何一项:
(?= )
。*?
。(?s)(?<=\$\[)(.*?)(?=\$\[)
更多信息:
(?s)(?=\$\[)(.+?)(?=\$\[)
(?s)(\$\[.*?)(?=\$\[)
我已经试过,但我想它不能正常工作。我已经找到了不同的方式。
Regular Expressions with Windows PowerShell
我创建新的对象时,我抓住了一个新的错误。然后我插入线到我的对象,直到我抓住了新的错误。我的问题解决了这种方式。谢谢你的帮助。