首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >LAS条目的Regex

LAS条目的Regex
EN

Stack Overflow用户
提问于 2014-08-27 07:44:01
回答 2查看 122关注 0票数 1

我对RegEx很不好。有人能帮我弄到这个模式的RegEx吗?

这是一个模式

(单词)。(单个字符,可以是空的)(空格)(单词,可以是空的):(单词,可以是空的)

下面是一些例子

代码语言:javascript
复制
VERS. 2.00: Ver 2.00
WRAP. NO:
STRT.F                  4501.0000:START DEPTH
WELL. C5 1H:WELL
FTG GTG. :LOCATION FOOTAGE DESCRIPTION

更新1:

这就是我所做的。

代码语言:javascript
复制
string re1 = "((?:[a-z][a-z]+))";   // Word 1
string re2 = ".*?"; // Non-greedy match on filler
string re3 = "(\\.)";   // Any Single Character 1
string re4 = "(.)"; // Any Single Character 2
string re5 = "(\\s+)";  // White Space 1
string re6 = "((?:[a-z][a-z]+))";   // Word 2
string re7 = ".*?"; // Non-greedy match on filler
string re8 = "(:)"; // Any Single Character 3
string re9 = ".*?"; // Non-greedy match on filler
string re10 = "(?:[a-z][a-z]+)";    // Uninteresting: word
string re11 = ".*?";    // Non-greedy match on filler
string re12 = "((?:[a-z][a-z]+))";  // Word 3

Regex r = new Regex(re1 + re2 + re3 + re4 + re5 + re6 + re7 + re8 + re9 + re10 + re11 + re12, RegexOptions.IgnoreCase | RegexOptions.Singleline);

更新2:

好吧。我尝试了一些新的东西。这是我的领地。

代码语言:javascript
复制
(\.)(.)(\s+)(4501.0000)(:)

这是输入。

代码语言:javascript
复制
STRT DTG.F                  4501.0000:START DEPTH

这是输出。

代码语言:javascript
复制
STRT DTG
.
F

4501.0000
:
START DEPTH

现在我只需要用正则表达式替换4501.0000 (例如“一些文本”或“更多文本”),

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2014-08-27 09:33:01

LAS文件的头部分(通常)具有这种格式。

代码语言:javascript
复制
<MNEM> .<UNIT> <DATA> : <DESCRIPTION>

霸王龙可以是这样的。

代码语言:javascript
复制
^([\w\s]*)\s*\.([^ ]*)\s*([^:]*)\s*:(.*)$

解释

代码语言:javascript
复制
^         -> beginning of line
([\w\s]*) ->   1st group, MNEM (take words and/or space)
\s*       -> space
\.        -> period delimiter
([^ ]*)     ->   2nd group, UNIT (take everything until it sees space)
\s*       -> space
([^:]*)   ->   3rd group, DATA (take everything until it sees colon)
\s*       -> space
:         -> colon delimiter
(.*)      ->   4th group, DESCRIPTION (take everything)
$         -> end of line

演示

票数 2
EN

Stack Overflow用户

发布于 2014-08-27 07:56:52

使用\s或“”也包括空格。有点像

代码语言:javascript
复制
     ((?:[a-z][a-z\s]+))

代码语言:javascript
复制
      ((?:[a-z][a-z ]+))
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/25521539

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档