如何返回与正则表达式匹配的部分javascript字符串?

时间:2015-08-11 14:35:50

标签: javascript regex string replace strip

我有一个正则表达式字符串,它匹配我需要的字符串的特定部分here

/[^\/,\s\?#]+?\.[^\/,\s]+?(?=\/|\s|$|\?|#)/g

我想在javascript中使用此正则表达式来删除与正则表达式不匹配的字符串部分,然后将结果存储在变量中。我似乎无法找到任何方法来做到这一点!

我在JS中找到的唯一正则表达式函数是compile(),exec(),test()和toString()。这些似乎都不符合我的需求。我怎么能这样做?

由于

2 个答案:

答案 0 :(得分:3)

使用<Page.Resources> <DataTemplate x:Key="ImageOverlayGalleryFolderDataTemplate"> <Grid Background="#FF939598" Height="200" Width="300"> <Image Source="{Binding Image}" Stretch="UniformToFill"/> <StackPanel Orientation="Vertical" Background="#CC000000" Height="30" VerticalAlignment="Bottom"> <TextBlock Text="{Binding Text}" Margin="10,3,0,0" Width="186" Height="20" TextTrimming="WordEllipsis" HorizontalAlignment="Left" Foreground="White"/> </StackPanel> </Grid> </DataTemplate> </Page.Resources> <Grid Background="{ThemeResource AppBarItemForegroundThemeBrush}"> <GridView x:Name="ImageOverlayGalleryFolderGrid" CanReorderItems="True" CanDragItems="True" ItemTemplate="{StaticResource ImageOverlayGalleryFolderDataTemplate}" > <GridView.ItemsPanel> <ItemsPanelTemplate> <ItemsWrapGrid MaximumRowsOrColumns="5"/> </ItemsPanelTemplate> </GridView.ItemsPanel> </GridView> </Grid> 函数将所有匹配的字符作为数组元素返回。

string.match

如果您要删除匹配的部分,请使用string.match(/[^\/,\s\?#]+?\.[^\/,\s]+?(?=\/|\s|$|\?|#)/g)

string.replace

答案 1 :(得分:1)

执行此操作的方法是使用string.match()功能,如Mozilla Developer Page上所示。

因此,您的函数调用看起来像

string.match(/[^\/,\s\?#]+?\.[^\/,\s]+?(?=\/|\s|$|\?|#)/g)

如果您计划剥离任何不匹配的内容,那么您可以使用

string.replace(/[^\/,\s\?#]+?\.[^\/,\s]+?(?=\/|\s|$|\?|#)/g, ''),如here所示,然后将其存储到另一个变量中。