Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/codeigniter/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Pattern matching 如何使用TUSTEP查找行的最后一个字母_Pattern Matching_Expression - Fatal编程技术网

Pattern matching 如何使用TUSTEP查找行的最后一个字母

Pattern matching 如何使用TUSTEP查找行的最后一个字母,pattern-matching,expression,Pattern Matching,Expression,我正在使用Tustep,希望识别诗歌中每行的最后一个字母,即押韵词的最后一个字母 在下面的例子中,我想得到e,t,e,t-而不是别的: 这是我的梦想, 我是塞尔本·奥尔特的一个朋友 你的头发是干什么的 这是一座高耸的城堡。 zn,,,-{00}{&a}{]}-在行尾获取任何单词,使用zn,,,-{00}{&a}{]}-{00}{&a}[,;]{]}-我甚至可以获取后面有标点符号(和行尾)的单词 但我真正想要的不是单词,而是这些单词的最后几个字母。如果文本没有变音符号,下面的TUSTEP搜索参数

我正在使用Tustep,希望识别诗歌中每行的最后一个字母,即押韵词的最后一个字母

在下面的例子中,我想得到e,t,e,t-而不是别的:

这是我的梦想,
我是塞尔本·奥尔特的一个朋友
你的头发是干什么的
这是一座高耸的城堡。

zn,,,-{00}{&a}{]}-
在行尾获取任何单词,使用
zn,,,-{00}{&a}{]}-{00}{&a}[,;]{]}-
我甚至可以获取后面有标点符号(和行尾)的单词


但我真正想要的不是单词,而是这些单词的最后几个字母。

如果文本没有变音符号,下面的TUSTEP搜索参数表达式应该可以实现这一点:

zn,,,--{&a}{]}{0}{@} --{&a}{]}{0}{@}-
它的作用是:主体模式
{&a}{]}{0}{@}
查找单个字母(
{&a}
),可选地后跟一个非字母/非数字字符(
{0}{@}
)。这两个元素用右侧标记(
{]}
)分隔,确保只有字母是标记字符串的一部分。如果我们只使用这种搜索模式,我们将找到所有单词的最后一个字母。由于您只对行尾感兴趣,因此我们简单地排除所有后跟可选标点符号和强制空格字符的单词。此排除模式基本上与搜索模式相同,不同之处在于最后有一个空格字符:
--{&a}{]}{0}{@}--

当然,必须注意的是,如果您的行最后有尾随空格,那么整个搜索模式都会失败。因此,在应用此搜索模式之前,应该先修剪线条


编辑: 如果你的文章有变音符号,上面的答案会产生一些错误的匹配,例如。g、 :

Sehr schlimm:Eingeladed sein
我们的房子仍然是R
在Cafe besser
而keine Unterhaltung nötig是t

(注意在“é”之前匹配的“f”)。因此,在使用变音符号的场景中,我建议使用

zn,,,--{&a}{]}{0}\%{0}{%} --{&a}{]}{0}{%}-

完美的这就解决了我的问题。在我正在处理的文本中不应该有任何尾随空格。我编辑过的may Response也可以用变音符号处理文本